HUAWEI Ads广告服务(转化跟踪参数)(二),基于位置的huaweiads干什么用的HUAWEI Ads广告服务(转化跟踪参数)(二)4.集成转化跟踪参数开放能力(SDK方式)SDK方式是指通过HUAWEI Ads Kit提供的SDK接入开放能力,接入方式简单,推荐使用此方式。1、集成SDK步骤1 配置HUAWE......
4.集成转化跟踪参数开放能力(SDK方式)
SDK方式是指通过HUAWEI Ads Kit提供的SDK接入开放能力,接入方式简单,推荐使用此方式。
1、集成SDK
步骤1 配置HUAWEI Ads SDK的Maven仓地址。
打开Android Studio项目级build.gradle文件,在allprojectsrepositories里面配置SDK的Maven仓地址。
allprojects {
repositories {
google()
jcenter()
maven { url https://developer.huawei.com/repo/ }
}
}
步骤2 配置依赖
打开子工程app下的build.gradle文件,在dependencies新增SDK的依赖,并将{version}替换为最新HUAWEI Ads SDK版本号,参见版本更新说明。
dependencies {
implementation com.huawei.hms:adsinstallreferrer:{version}
}
步骤3 同步修改的文件
步骤4 配置混淆脚本(必选)
app/proguardrules.pro
keep class com.huawei.hms.ads.**{*;}
keep interface com.huawei.hms.ads.**{*;}
2、创建转化跟踪参数状态监听器
实现InstallReferrerStateListener监听器接口的两个方法onInstallReferrerSetupFinished和onInstallReferrerServiceDisconnected,代码示例如下:
private InstallReferrerStateListener installReferrerStateListener = new InstallReferrerStateListener() {
@Override
public void onInstallReferrerSetupFinished(int responseCode) {
switch (responseCode) {
case InstallReferrerClient.InstallReferrerResponse.OK:
Log.i(TAG, connect ads kit ok);
get();
break;
case InstallReferrerClient.InstallReferrerResponse.FEATURENOTSUPPORTED:
Log.i(TAG, FEATURENOTSUPPORTED);
break;
case InstallReferrerClient.InstallReferrerResponse.SERVICEUNAVAILABLE:
Log.i(TAG, SERVICEUNAVAILABLE);
break;
default:
Log.i(TAG, responseCode: + responseCode);
break;
}
}
@Override
public void onInstallReferrerServiceDisconnected() {
Log.i(TAG, onInstallReferrerServiceDisconnected);
}
};
在连接成功的回调中调用getInstallReferrer方法获取转化跟踪参数。
InstallReferrerSdkUtil.java
private void get() {
if (null != mReferrerClient) {
try {
ReferrerDetails referrerDetails = mReferrerClient.getInstallReferrer();
if (null != referrerDetails null != mCallback) {
mCallback.onSuccuss(referrerDetails.getInstallReferrer(),
referrerDetails.getReferrerClickTimestampMillisecond(),
referrerDetails.getInstallBeginTimestampMillisecond());
}
} catch (RemoteException e) {
Log.i(TAG, getInstallReferrer RemoteException: + e.getMessage());
} catch (IOException e) {
Log.i(TAG, getInstallReferrer IOException: + e.getMessage());
} finally {
disconnect();
}
}
}
3、创建InstallReferrerClient实例
通过builder配置和创建一个InstallReferrerClient实例。
开发步骤:
步骤1 调用InstallReferrerClient.newBuilder创建一个Builder实例。
步骤2 调用build创建InstallReferrerClient实例。
InstallReferrerSdkUtil.java
mReferrerClient=InstallReferrerClient.newBuilder(mContext).build();
4、连接转化跟踪参数服务
建立与转化跟踪参数服务的连接,不要在主线程中调用该方法。
开发步骤:
步骤1 设置startConnection的监听器为已创建的InstallReferrerStateListener监听器。
步骤2 在子线程中调用startConnection方法连接服务。
InstallReferrerSdkUtil.java
mReferrerClient.startConnection(installReferrerStateListener);
5.集成转化跟踪参数开放能力(AIDL方式)
1、新增AIDL接口文件
在工程中新增一个aidl接口文件,包名为com.huawei.android.hms.ppskit,文件名称为IPPSChannelInfoService.aidl,拷贝下面内容到文件中。
app/src/main/aidl/com/huawei/android/hms/ppskit/IPPSChannelInfoService.aidl
//IPPSRemoteService.aidl
package com.huawei.android.hms.ppskit;
/*
*Important:Do not modify the method sequence of the AIDL file.
*/
interface IPPSChannelInfoService{
String getChannelInfo();
}
2、创建一个类,实现ServiceConnection接口。
开发步骤:
步骤1 实现ServiceConnection的onServiceConnected方法。
步骤2 调用IPPSChannelInfoService.Stub.asInterface方法获取IPPSChannelInfoService。
步骤3 调用getChannelInfo方法获取转化跟踪参数。
InstallReferrerAidlUtil.java
private final class InstallReferrerServiceConnection implements ServiceConnection {
private InstallReferrerServiceConnection() {
}
@Override
public void onServiceConnected(ComponentName componentName, IBinder iBinder) {
Log.i(TAG, onServiceConnected);
mService = IPPSChannelInfoService.Stub.asInterface(iBinder);
if (null != mService) {
try {
String channelJson = mService.getChannelInfo();
Log.i(TAG, channelJson: + channelJson);
JSONObject jsonObject = new JSONObject(channelJson);
String installReferrer = jsonObject.optString(channelInfo);
long clickTimestamp = jsonObject.optLong(clickTimestamp, 0);
long installTimestamp = jsonObject.optLong(installTimestamp, 0);
if (null != mCallback) {
mCallback.onSuccuss(installReferrer, clickTimestamp, installTimestamp);
} else {
mCallback.onFail(install referrer is empty);
}
} catch (RemoteException e) {
Log.e(TAG, getChannelInfo RemoteException);
mCallback.onFail(e.getMessage());
} catch (Exception e) {
Log.e(TAG, getChannelInfo Excepition);
mCallback.onFail(e.getMessage());
} finally {
unbindService();
}
}
}
@Override
public void onServiceDisconnected(ComponentName componentName) {
Log.i(TAG, onServiceDisconnected);
mService = null;
}
}
3、连接转化跟踪参数的AIDL服务
开发步骤:
步骤1 创建一个InstallReferrerServiceConnection实例。
步骤2 创建一个Intent,Action是com.huawei.android.hms.CHANNELSERVICE。
步骤3 设置Intent的包名为com.huawei.hwid。
步骤4 调用bindService连接转化跟踪参数的AIDL服务。
InstallReferrerAidlUtil.java
private boolean bindService() {
Log.i(TAG, bindService);
if (null == mContext) {
Log.e(TAG, context is null);
return false;
}
mServiceConnection = new InstallReferrerServiceConnection();
Intent intent = new Intent(Constants.SERVICEACTION);
intent.setPackage(Constants.SERVICEPACKAGENAME);
boolean result = mContext.bindService(intent, mServiceConnection, Context.BINDAUTOCREATE);
Log.i(TAG, bindService result: + result);
return result;
}
4、断开转化跟踪参数的AIDL服务
使用完AIDL接口后,应该主动断开服务连接。
InstallReferrerAidlUtil.java
private void unbindService() {
if (null != mServiceConnection) {
unbindService(mServiceConnection);
}
}
特别声明:以上文章内容仅代表作者本人观点,不代表ESG跨境电商观点或立场。如有关于作品内容、版权或其它问题请于作品发表后的30日内与ESG跨境电商联系。
二维码加载中...
使用微信扫一扫登录
使用账号密码登录
平台顾问
微信扫一扫
马上联系在线顾问
小程序
ESG跨境小程序
手机入驻更便捷
返回顶部