Skip to content
No description, website, or topics provided.
C#
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
Assets updating for sdk unity version 1.0.12 Dec 2, 2019
Images
ProjectSettings
.gitignore add meta file Jun 1, 2019
README.md
README_EN.md update doc May 22, 2019

README.md

آموزش راه اندازی کتاب‌خانه TapsellPlus در Unity پلتفرم Android

برای استفاده از این کتابخانه باید از build system گردل استفاده کنید. همچنین سعی کنید از آخرین نسخه unity استفاده کنید.

اضافه کردن کتابخانه به پروژه

نسخه 2.1
ابتدا unity package تپسل پلاس را دانلود و مطابق توضیحات زیر به پروژه اضافه کنید. سپس هر adNetwork که تپسل پشتیبانی میکند و مایل هستید را مطابق توضیحات به پروژه اضافه کنید. در انتها با روش‌های تست مطمعن شوید که adNetwork مورد نظر به درستی کار میکند.

از player settings قسمت publishing settings تیک custom gradle template رو بزارید.
خطوط زیر را در بخش android فایل mainTemplate.gradle در صورتی که وجود ندارد اضافه کنید.
android {
  compileOptions {
    sourceCompatibility JavaVersion.VERSION_1_8
    targetCompatibility JavaVersion.VERSION_1_8
  }
}

برای اضافه کردن کتابخانه‌های مورد نیاز ۲ روش وجود دارد از هرکدام که مایل هستید استفاده کنید.

روش اول استفاده از gradle

خطوط زیر را در بخش dependencies فایل mainTemplate.gradle در مسیر Assets/Plugins/Android اضافه کنید. توجه داشته باشید که ۲ قسمت dependencies وجود دارد، این تغییرات باید در قسمت دوم انجام شود.
...
dependencies {
  implementation fileTree(dir: 'libs', include: ['*.jar'])
  implementation 'ir.tapsell.plus:tapsell-plus-sdk-unity:1.0.12'
**DEPS**}
...
در نسخه‌های قدیمی یونیتی ممکن هست implementation شناخته نشود در این صورت از compile استفاده کنید.

هر یک از خطوط زیر که در بخش allprojects -> repositories فایل mainTemplate.gradle وجود ندارد اضافه کنید.
...
allprojects {
    repositories {
        google()
        jcenter()
        flatDir {
            dirs 'libs'
        }

        maven {
            url 'https://dl.bintray.com/tapsellorg/maven'
        }
    }
}
...
هنگام import یونیتی‌پکیج تپسل پلاس تیک قسمت playServicesResolver و TapsellPlusDependencies.xml را بردارید.

روش دوم استفاده از resolver

هنگام import کردن unityPackage تپسل پلاس تیک تمامی قسمت‌ها را بزارید. تنها تیک mainTemplate.gradle زا بردارید.
در صورتی که تنظیمات ریزالور بر روی حالت auto-resolution میباشد، لایبراری های تپسل پلاس به صورت خودکار اضافه میشود. در غیر اینصورت به صورت دستی Resolve را انجام دهید.
فعال یا غیر فعال کردن auto-resolution از مسیر زیر انجام میشود.
Assets > Play Services Resolver > Android Resolver > Settings
برای Resolve دستی نیز از این مسیر اقدام نمایید.
Assets > Play Services Resolver > Android Resolver > Resolve
Assets > Play Services Resolver > Android Resolver > Force Resolve

اضافه کردن سایر Ad Network ها

روش اول استفاده از gradle

در قسمت dependencies فایل mainTemplate.gradle این موارد را اضافه کنید. برای کسب اطلاعات بیشتر در مورد هر ad network میتوانید با همکاران ما در تیم رسانه صحبت کنید.
...
dependencies {
  implementation fileTree(dir: 'libs', include: ['*.jar'])
  ...
  //for adMob
  implementation 'com.google.android.gms:play-services-ads:17.2.1'
  
  //for unityAds
  implementation 'com.unity3d.ads:unity-ads:3.0.0'

  //for chartboost
  implementation 'ir.tapsell.sdk:chartboost-sdk-android:7.3.1'

  //for facebook
  implementation 'com.facebook.android:audience-network-sdk:5.3.0'
  implementation 'com.facebook.android:facebook-android-sdk:5.2.0'
  
  //for adcolony
  implementation 'com.adcolony:sdk:3.3.11'
  
  //for applovin
  implementation 'com.applovin:applovin-sdk:9.7.2'
  
  //for vungle
  implementation 'com.vungle:publisher-sdk-android:6.4.11'
  
**DEPS**}
...
برای adcolony لازم هست ریپازیتوری زیر به mainTemplate.gradle پروژه اضافه شود.
maven {
  url  "https://adcolony.bintray.com/AdColony"
}

روش دوم استفاده از resolver

خطوط مربوط به هر adNetwork که مایل هستید را به فایل TapsellPlusDependencies.xml اضافه کنید.
<dependencies>
  <androidPackages>
    <androidPackage spec="ir.tapsell.plus:tapsell-plus-sdk-unity:1.0.10">
      <repositories>
        <repository>https://dl.bintray.com/tapsellorg/maven</repository>
        <repository>https://adcolony.bintray.com/AdColony</repository>
      </repositories>
    </androidPackage>

    <androidPackage spec="ir.tapsell.sdk:chartboost-sdk-android:7.3.1">
    </androidPackage>

    <androidPackage spec="com.unity3d.ads:unity-ads:3.0.0">
    </androidPackage>

    <androidPackage spec="com.google.android.gms:play-services-ads:17.2.1">
    </androidPackage>

    <androidPackage spec="com.facebook.android:audience-network-sdk:5.3.0">
    </androidPackage>

    <androidPackage spec="com.facebook.android:facebook-android-sdk:5.2.0">
    </androidPackage>

    <androidPackage spec="com.applovin:applovin-sdk:9.7.2">
    </androidPackage>

    <androidPackage spec="com.vungle:publisher-sdk-android:6.4.11">
    </androidPackage>

    <androidPackage spec="com.adcolony:sdk:3.3.11">
    </androidPackage>
    
  </androidPackages>
</dependencies>

تنظیمات proguard

تنظیمات پروگوارد را از این فایل دریافت کنید.



آموزش راه اندازی کتاب‌خانه TapsellPlus در Unity پلتفرم iOS

نصب Cocoapods

تپسل پلاس برای استفاده هرچه ساده تر بروی Cocoapods متشر شده است. در صورتی که تا به حال Cocoapods را روی سیستم تان نصب نکرده اید، می­توانید با دستور زیر این کار را انجام دهید:
$ sudo gem install cocoapods
برای کسب اطلاعات بیشتر می­توانید به وبسایت Cocoapods مراجعه کنید


اضافه کردن تپسل پلاس به Podfile

خطوط زیر را به Podfile خود اضافه کنید:
pod ‘TapsellPlusSDK’, ‘1.0.0’
pod ‘TapsellPlusSDK/UnityPlugin’, ‘1.0.0
با این خط، تپسل پلاس و تمامی کتابخانه های مورد نیاز آن دانلود شده، تنظیمات لازم برای هر کدام اعمال شده و به پروژه شما اضافه می­گردند.


آپدیت فایل .plist پروژه

با انتشار iOS 9 , اپل سیستم ATS را معرفی نمود که طبق آن لازم است اپلیکیشن‌ها از SSL با مشخصات خاصی برای ارتباطات شبکه استفاده کنند. در حال حاضر، لازم است که برای استفاده از تبلیغات تپسل ATS در اپلیکیشن غیرفعال شود. جهت جلوگیری از مداخله ATS در پخش تبلیغات، قسمت زیر را به plist پروژه خود اضافه کنید.
<key>NSAppTransportSecurity</key>
<dict>
    <key>NSAllowsArbitraryLoads</key>
    <true/>
</dict>

Kitten


با انتشار نسخه iOS 9، شرکت اپل ارتباطات بین اپلیکیشن‌ها (canOpenUrl) را محدود کرده است و هر اپلیکیشن باید مشخص کند چه اپلیکیشن‌های دیگری را باز خواهد نمود. تپسل از تابع canOpenUrl برای تصمیم‌گیری در مورد انجام عمل نهایی در بنرهای تبلیغات استفاده می‌کند. برای فعالسازی deep-linking بین SDK تپسل و سرویس‌های مختلف، بخش زیر را به plist پروژه خود اضافه کنید..
<key>LSApplicationQueriesSchemes</key>
<array>
    <string>mailto</string>
    <string>itms-apps</string>
    <string>sms</string>
    <string>tel</string>
</array>

Kitten


آپدیت تنظیمات بیلد

فلگ –ObjC را به Other Linker Flags در Build Setting اضافه کنید.

Kitten


فلگ Always Embed Swift Standard Libraries را در پروژه خود فعال کنید.

Kitten



راه اندازی تپسل پلاس

کلید تپسل را از پنل دریافت کنید.
تابع زیر را در یکی از اسکریپت‌های ابتدایی برنامه بزارید.
void Start () {
  TapsellPlus.initialize (TAPSELL_KEY);
}

پیاده سازی تبلیغات ویدیو جایزه‌ای

ابتدا از پنل یک تبلیغگاه (zone) ویدیو جایزه‌ای بسازید و zoneId رو زمان درخواست و نمایش تبلیغ استفاده کنید.
سپس مطابق کد زیر درخواست تبلیغ دهید.
public void Request () {
  TapsellPlus.requestRewardedVideo (ZONE_ID,
    (string zoneId) => {
      Debug.Log ("on response " + zoneId);
    },
    (TapsellError error) => {
      Debug.Log ("Error " + error.message);
    }
  );
}
بعد از اجرای متد response تبلیغ آماده نمایش است و میتوانید مطابق روش زیر نمایش دهید.
public void Show () {
  TapsellPlus.showAd (ZONE_ID,
    (string zoneId) => {
      Debug.Log ("onOpenAd " + zoneId);
    },
    (string zoneId) => {
      Debug.Log ("onCloseAd " + zoneId);
    },
    (string zoneId) => {
      Debug.Log ("onReward " + zoneId);
    },
    (TapsellError error) => {
      Debug.Log ("onError " + error.message);
    }
  );
}

پیاده سازی تبلیغات آنی

مطابق تبلیغات جایزه‌ای پیش برید فقط زمان درخواست تبلیغ از متد TapsellPlus.requestInterstitial استفاده کنید.

آموزش تبلیغات بنر استاندارد

مطابق کد زیر میتونید بنر استاندارد نمایش دهید.
TapsellPlus.showBannerAd (ZONE_ID, BANNER_TYPE, VERTICAL_GRAVITY, HORIZONTAL_GRAVITY,
  (string zoneId) => {
    Debug.Log ("on response " + zoneId);
  },
  (TapsellError error) => {
    Debug.Log ("Error " + error.message);
  });
BANNER_TYPE سایز نمایش بنر هست و میتواند مقادیر زیر باشد.
keyword size
BANNER_320x50 320x50
BANNER_320x100 320x100
BANNER_250x250 250x250
BANNER_300x250 300x250
BANNER_468x60 468x60
BANNER_728x90 728x90
VERTICAL_GRAVITY و HORIZONTAL_GRAVITY موقعیت قرار گیری بنر در صفحه هست و میتواند مقادیر زیر باشد.
Gravity.TOP - Gravity.BOTTOM - Gravity.LEFT - Gravity.RIGHT - Gravity.CENTER
به عنوان مثال میتوانید به این شکل درخواست تبلیغ دهید.
TapsellPlus.showBannerAd (ZONE_ID, BannerType.BANNER_300x250, Gravity.BOTTOM, Gravity.CENTER,
  (string zoneId) => {
    Debug.Log ("on response " + zoneId);
  },
  (TapsellError error) => {
    Debug.Log ("Error " + error.message);
  });
با این کد میتوانید تبلیغ بنر استاندارد را مخفی کنید.
TapsellPlus.hideBanner ();

پیاده سازی تبلیغات همنما بنری

مطابق کد زیر درخواست تبلیغ دهید.
public void Request () {
  TapsellPlus.requestNativeBanner (this, ZONE_ID,
    (TapsellPlusNativeBannerAd result) => {
      Debug.Log ("on response");
      //showing ad
    },
    (TapsellError error) => {
      Debug.Log ("Error " + error.message);
    }
  );
}
متغیر برگردانده شده در on response محتویات تبلیغ هست و برای نمایش تبلیغ باید مطابق جدول زیر ازش استفاده کنید.
function usage
getTitle () عنوان
getDescription () توضیحات
getIcon () آیکن
getLandscapeBannerImage () تصویر افقی
getPortraitBannerImage () تصویر عمودی
getCallToAction (), متن دکمه کلیک
برای باز کردن تبلیغ زمان کلیک کاربر میتوانید از این متد استفاده کنید.
nativeAd.clicked ();
برای دیدن یک نمونه پیاده سازی شده میتوانید همین پروژه در گیت‌هاب را بررسی کنید.

تست Ad Network ها

برای اطمینان از صحت عملکرد adNetwrok هایی که اضافه کردید از zoneId مربوط به هرکدام استفاده کنید. هر zoneId مربوط به یک adNetwork و یک نوع تبلیغ هست و تبلیغ حالت تست نمایش داده میشود.
* توجه داشته باشید در حالت تست باید از appId تست استفاده کنید.
* هنگام تست باید از ip خارج ایران (فیلتر شکن) استفاده کنید.
* برای عملکرد صحیح حالت تست باید یکبار برنامه باز و بسته شود. همچنین در دومین درخواست، تبلیغ adNetwork مورد نظر نمایش داده میشود.
* برای تست facebook باید hash دستگاهی که بر روی آن تست انجام میشود طبق روش گفته شده به sdk داده شود.
* تست را در حالت build release هم انجام دهید.

از این appId برای تست استفاده کنید.
TapsellPlus.initialize("alsoatsrtrotpqacegkehkaiieckldhrgsbspqtgqnbrrfccrtbdomgjtahflchkqtqosa");
برای هر ادنتورک و هر تبلیغ از zoneId های زیر برای درخواست و نمایش تبلیغ استفاده کنید. در حال حاضر فقط adType/adNetwork های زیر قابل استفاده هستند.
Ad Network Ad Type ZoneId
Tapsell Rewarded Video 5cfaa802e8d17f0001ffb28e
Tapsell Interstitial 5cfaa942e8d17f0001ffb292
Tapsell Native 5cfaa9deaede570001d5553a
Tapsell Standard 5cfaaa30e8d17f0001ffb294
Admob Rewarded Video 5cfaa8aee8d17f0001ffb28f
Admob Interstitial 5cfaa9b0e8d17f0001ffb293
Admob Standard 5cfaaa4ae8d17f0001ffb295
Admob Native 5d123c9968287d00019e1a94
Admob Native Video 5d123d6f68287d00019e1a95
Unity Ads Rewarded Video 5cfaa8eae8d17f0001ffb291
Chartboost Rewarded Video 5cfaa8cee8d17f0001ffb290
Facebook Rewarded Video 5cfaa838aede570001d55538
Facebook Interstitial 5cfaa975aede570001d55539
AdColony Rewarded Video 5d3362766de9f600013662d5
AdColony Interstitial 5d336289e985d50001427acf
AppLovin Rewarded Video 5d3eb48c3aef7a0001406f84
AppLovin Interstitial 5d3eb4fa3aef7a0001406f85
AppLovin Standard 5d3eb5337a9b060001892441
Vungle Rewarded Video 5d3eb55a7a9b060001892442
Vungle Interstitial 5d3eb56d3aef7a0001406f86
زمانی که از facebook استفاده میکنید متنی مشابه زیر در logcat پرینت میشود.
When testing your app with Facebook's ad units you must specify the device hashed ID to ensure the delivery of test ads, add the following code before loading an ad: AdSettings.addTestDevice("YOUR_DEVICE_HASH");
برای دیدن تبلیغات تستی فیسبوک مقدار hash دستگاه خود را از طریق متد زیر به کتابخانه تپسل بدهید.
TapsellPlus.addFacebookTestDevice("YOUR_DEVICE_HASH");
You can’t perform that action at this time.