广告平台对接Android集成指引

注意:此文档是针对使用了 渠道统计 功能中的 广告平台渠道 报表统计功能而提供的补充性文档

  • 首次集成SDK的,先按照Android集成指南或者 后台【应用集成】->【Android集成】文档集成完毕

  • 进入应用后台,找到:“android集成”->“android应用配置”->“广告平台对接”,勾选并保存

一、设备唯一标识码获取

针对广告平台,为了精准地匹配到渠道,需要获取设备唯一标识码(IMEI),因此需要做额外的权限申请。

1、权限声明

AndroidManifest.xml文件中添加权限声明

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

2、请求权限,确保初始化在权限请求之后调用

内部ApiinitWithPermission已废弃,请自行处理权限申请

2.1、以下示例代码需要依赖support-v7包,如项目中已经导入依赖,请忽略
build.gradle中导入依赖

dependencies {
    implementation "com.android.support:appcompat-v7:28.0.0"
}

2.2、删除掉原有的初始化代码,在请求权限之后初始化
示例:在应用启动页申请权限并初始化,确保后续操作在初始化之后

public class SplashActivity extends AppCompatActivity {
    Configuration configuration = new Configuration.Builder().adEnabled(true).build();
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_splash);

        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
            if (ActivityCompat.checkSelfPermission(this, Manifest.permission.READ_PHONE_STATE) != PackageManager.PERMISSION_GRANTED) {
                ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.READ_PHONE_STATE}, 999);
            } else {
                OpenInstall.init(getApplicationContext(), configuration);
            }
        } else {
            OpenInstall.init(getApplicationContext(), configuration);
        }

    }

    @Override
    public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) {
        super.onRequestPermissionsResult(requestCode, permissions, grantResults);
        if (requestCode == 999) {
            OpenInstall.init(getApplicationContext(), configuration);
        }
    }

}

二、获取OAID

1、使用 2.8.3 及以上版本SDK,您不需要做任何项目配置,仅需设置允许 SDK 获取广告追踪相关参数

Configuration configuration = new Configuration.Builder().adEnabled(true).build();
OpenInstall.init(activity, configuration);

2、开发者也可以自行获取 OAID,并传递给 OpenInstall SDK 。示例如下:

/**
 * adEnabled 为 true 表示 SDK 需要获取广告追踪相关参数
 * f32a09dc-3312-d43e-6583-62fac13f33ae 是通过移动安全联盟获取到的 oaid
 */
Configuration configuration = new Configuration.Builder().adEnabled(true)
        .oaid("f32a09dc-3312-d43e-6583-62fac13f33ae").build();
OpenInstall.init(activity, configuration);

三、Google 广告 ID 获取

1、获取 Google Advertising ID,您不需要做任何项目配置,仅需设置允许 SDK 获取广告追踪相关参数

Configuration configuration = new Configuration.Builder().adEnabled(true).build();
OpenInstall.init(activity, configuration);

2、开发者也可以自行获取 advertisingId ,并传递给 OpenInstall SDK 。示例如下:

/**
 * adEnabled 为 true 表示 SDK 需要获取广告追踪相关参数
 * e78a09dc-2207-4c1b-9879-1fc4de1f22f4 是通过 google api 获取到的 advertisingId
 */
Configuration configuration = new Configuration.Builder().adEnabled(true)
        .gaid("e78a09dc-2207-4c1b-9879-1fc4de1f22f4").build();
OpenInstall.init(this, configuration);

四、上传APK包,检查配置

广告代码集成完毕后,需要导出安装包上传openinstall后台,openinstall会自动检查应用所有的配置工作

“权限列表”红色提示表明,应用当前上传的APK未声明必要的权限