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

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

تنظیمات Gradle

ریپازیتوری تپسل را به فایل build.gradle اصلی پروژه اضافه کنید.

allprojects {  
    repositories {
        ....
        mavenCentral()

        // for v1.2.3-rc4 and before
        //maven {  
        //    url 'https://dl.bintray.com/tapsellorg/maven'  
        //}
        ....
    }  
}

خط زیر را به فایل build.gradle ماژول برنامه در قسمت dependencies اضافه کنید.

dependencies {
    ....
    implementation 'ir.tapsell.plus:tapsell-plus-sdk-android:1.2.6'
    ....
}

همچنین اگر در قسمت android این قسمت وجود ندارد اضافه‌اش کنید.

compileOptions {
  sourceCompatibility JavaVersion.VERSION_1_8
  targetCompatibility JavaVersion.VERSION_1_8
}

با کمک پراکسی gradle را sync کنید تا تپسل به پروژه اضافه شود.

مقداردهی اولیه

در اکتیویتی اولیه برنامه باید تپسل پلاس را راه‌اندازی کنید.

import ir.tapsell.plus.TapsellPlus;

public class MainActivity extends AppCompatActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        ...
        TapsellPlus.initialize(this, TAPSELL_KEY);
        ...
    }
}

TAPSELL_KEY کلید تپسل هست و برای هر اپلیکیشن که میسازید در پنل تپسل ساخته میشود، میتوانید از پنل کپی کنید.

تنظیمات proguard

تنظیمات مربوط به proguard در این فایل قرار دارد.

دسترسی‌ها

کتابخانه‌ی تپسل‌پلاس به جز اینترنت و WAKE_LOCK دسترسی دیگری از کاربر نمی‌گیرد. امّا به منظور بهبود عملکرد کتابخانه برای نمایش تبلیغات متناسب با هر کاربر می‌توانید دسترسی زیر را به اپلیکیشن خود اضافه نمایید. همچنین می‌بایستی دسترسی در زمان اجرا برای این مورد را نیز از کاربر بگیرید.

<uses-permission android:name="android.permission.READ_PHONE_STATE" />

این دسترسی صرفا برای دریافت Network Type کاربر بوده و استفاده‌ی دیگری از آن نمی‌شود. در صورتی که با اضافه کردن این دسترسی قصد انتشار اپلیکیشن خود در پلی استور را دارید می‌بایستی Privacy Policy خود را تغییر دهید. (می‌توانید از این لینک کمک بگیرید).

در صورتی که از نسخه‌های قبل از ۱.۲.۶ استفاده می‌کنید و قصد گرفتن این دسترسی را ندارید می‌توانید با افزودن تکه کد زیر به فایل AndroidManifest.xml آن را حذف نمایید (در نسخه‌های ۱.۲.۶ به بعد این دسترسی به طور پیش‌فرض وجود ندارد و نیازی به حذف کردن آن نیست).

<uses-permission android:name="android.permission.READ_PHONE_STATE"
	tools:node="remove" />

تنظیمات Network Security Configuration

در صورتی که اپلیکیشن شما درخواست‌های http ارسال می‌کند، در مسیر res/xml پروژه‌ی خود یک فایل به نامnetwork_security_config.xml بسازید.

  • اگر تمام ارتباطات اپلیکیشن شما از طریق پروتوکل http برقرار می‌شود، خطوط زیر را به فایل network_security_config.xml اضافه کنید:
<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
  <base-config cleartextTrafficPermitted="true"/>
  </base-config>
</network-security-config>
  • اگر اپلیکیشن شما به تعداد محدودی از domainها بسته‌های http ارسال می‌کند، خطوط زیر را به فایل network_security_config.xml اضافه کنید:
<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
  <domain-config cleartextTrafficPermitted="true"/>
    <domain includeSubdomains="true"><!—your subdomain--></domain>
  </domain-config>
</network-security-config>

در آخر به تگ application در فایل AndroidManifest.xml اپلیکیشن خود، attribute android:networkSecurityConfig را مطابق خطوط زیر اضافه کنید:

<?xml version="1.0" encoding="utf-8"?>
<manifest>
    <application 
        android:networkSecurityConfig="@xml/network_security_config">
    </application>
</manifest>

و در صورت وجود attribute زیر در تگ application در AndroidManifest.xml آن را حذف کنید:

<application
         android:usesCleartextTraffic="true">