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

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

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

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跨境专属福利分享群
扫码进群
拉美电商交流群
加入
拉美电商交流群
扫码进群
亚马逊跨境增长交流群
加入
亚马逊跨境增长交流群
扫码进群
亚马逊跨境增长交流群
加入
亚马逊跨境增长交流群
扫码进群
拉美电商交流群
加入
拉美电商交流群
扫码进群
《TikTok综合运营手册》
《TikTok短视频运营手册》
《TikTok直播运营手册》
《TikTok全球趋势报告》
《韩国节日营销指南》
《开店大全-全球合集》
《开店大全-主流平台篇》
《开店大全-东南亚篇》
《CD平台自注册指南》
《开店大全-俄罗斯篇》
通过ESG入驻平台,您将解锁
绿色通道,更高的入驻成功率
专业1v1客户经理服务
运营实操指导
运营提效资源福利
平台官方专属优惠

立即登记,定期获得更多资讯

订阅
联系顾问

平台顾问

平台顾问 平台顾问

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

icon icon

小程序

微信小程序

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

icon icon

返回顶部