HUAWEI Ads广告服务(转化跟踪参数)(二),基于位置的huaweiads干什么用的-ESG跨境

HUAWEI Ads广告服务(转化跟踪参数)(二),基于位置的huaweiads干什么用的

来源网络
来源网络
2022-04-29
点赞icon 0
查看icon 917

HUAWEI Ads广告服务(转化跟踪参数)(二),基于位置的huaweiads干什么用的HUAWEI Ads广告服务(转化跟踪参数)(二)4.集成转化跟踪参数开放能力(SDK方式)SDK方式是指通过HUAWEI Ads Kit提供的SDK接入开放能力,接入方式简单,推荐使用此方式。1、集成SDK步骤1 配置HUAWE......

HUAWEI Ads广告服务(转化跟踪参数)(二),基于位置的huaweiads干什么用的





HUAWEI Ads广告服务(转化跟踪参数)(二)

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);

  }

}


文章推荐
Google内部人士教你如何利用Google Play规则做好手游推广,googleplay设置隐私政策声明
从国外采购回来的大型二手设备如何报关,二手设备进口报关注意事项
从德国进口加工中心海运运输深圳蛇口港报关
APP出海——游戏开发者不得不知的5种ASO优化技巧 助力出海开发者更快获量,一个新app在aso方面的优化思路


特别声明:以上文章内容仅代表作者本人观点,不代表ESG跨境电商观点或立场。如有关于作品内容、版权或其它问题请于作品发表后的30日内与ESG跨境电商联系。

搜索 放大镜
韩国平台交流群
加入
韩国平台交流群
扫码进群
欧洲多平台交流群
加入
欧洲多平台交流群
扫码进群
美国卖家交流群
加入
美国卖家交流群
扫码进群
ESG跨境专属福利分享群
加入
ESG跨境专属福利分享群
扫码进群
拉美电商交流群
加入
拉美电商交流群
扫码进群
亚马逊跨境增长交流群
加入
亚马逊跨境增长交流群
扫码进群
《开店大全-全球合集》
《开店大全-主流平台篇》
《开店大全-东南亚篇》
《CD平台自注册指南》
《开店大全-俄罗斯篇》
《韩国站内推广指南》
《韩国热销品预测》
《开店大全-日韩篇》
《开店大全-拉美篇》
《开店大全-欧洲篇》
通过ESG入驻平台,您将解锁
绿色通道,更高的入驻成功率
专业1v1客户经理服务
运营实操指导
运营提效资源福利
平台官方专属优惠
联系顾问

平台顾问

平台顾问 平台顾问

微信扫一扫
马上联系在线顾问

icon icon

小程序

微信小程序

ESG跨境小程序
手机入驻更便捷

icon icon

返回顶部

Baidu
map