HUAWEI Ads廣告服務(wù)(轉(zhuǎn)化跟蹤參數(shù))(二)

來(lái)源: 華為開(kāi)發(fā)者聯(lián)盟官網(wǎng)
作者:華為開(kāi)發(fā)者聯(lián)盟官網(wǎng)
時(shí)間:2021-03-11
17063
SDK方式是指通過(guò)HUAWEI Ads Kit提供的SDK接入開(kāi)放能力,接入方式簡(jiǎn)單,推薦使用此方式。

ux_design_webdesign_app_mobile_business_interface_flat-723651.jpg

4.集成轉(zhuǎn)化跟蹤參數(shù)開(kāi)放能力(SDK方式)

SDK方式是指通過(guò)HUAWEI Ads Kit提供的SDK接入開(kāi)放能力,接入方式簡(jiǎn)單,推薦使用此方式。

1、集成SDK

步驟1 配置HUAWEI Ads SDK的Maven倉(cāng)地址。

打開(kāi)Android Studio項(xiàng)目級(jí)build.gradle文件,在allprojects->repositories里面配置SDK的Maven倉(cāng)地址。

allprojects {

    repositories {

        google()

        jcenter()

        maven { url 'https://developer.huawei.com/repo/' }

    }

}

步驟2 配置依賴

打開(kāi)子工程app下的build.gradle文件,在dependencies新增SDK的依賴,并將{version}替換為最新HUAWEI Ads SDK版本號(hào),參見(jiàn)版本更新說(shuō)明。

dependencies {

    implementation 'com.huawei.hms:ads-installreferrer:{version}'

}

步驟3 同步修改的文件

58cc0770a592db68.png

步驟4 配置混淆腳本(必選)

app/proguard-rules.pro

-keep class com.huawei.hms.ads.**{*;}

-keep interface com.huawei.hms.ads.**{*;}

2、創(chuàng)建轉(zhuǎn)化跟蹤參數(shù)狀態(tài)監(jiān)聽(tīng)器

實(shí)現(xiàn)InstallReferrerStateListener監(jiān)聽(tīng)器接口的兩個(gè)方法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.FEATURE_NOT_SUPPORTED:

                Log.i(TAG, "FEATURE_NOT_SUPPORTED");

                break;

            case InstallReferrerClient.InstallReferrerResponse.SERVICE_UNAVAILABLE:

                Log.i(TAG, "SERVICE_UNAVAILABLE");

                break;

            default:

                Log.i(TAG, "responseCode: " + responseCode);

                break;

        }

    }


    @Override

    public void onInstallReferrerServiceDisconnected() {

        Log.i(TAG, "onInstallReferrerServiceDisconnected");

    }

};

在連接成功的回調(diào)中調(diào)用getInstallReferrer方法獲取轉(zhuǎn)化跟蹤參數(shù)。

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、創(chuàng)建InstallReferrerClient實(shí)例

通過(guò)builder配置和創(chuàng)建一個(gè)InstallReferrerClient實(shí)例。

開(kāi)發(fā)步驟:

步驟1 調(diào)用InstallReferrerClient.newBuilder創(chuàng)建一個(gè)Builder實(shí)例。

步驟2 調(diào)用build創(chuàng)建InstallReferrerClient實(shí)例。

InstallReferrerSdkUtil.java

mReferrerClient=InstallReferrerClient.newBuilder(mContext).build();

4、連接轉(zhuǎn)化跟蹤參數(shù)服務(wù)

建立與轉(zhuǎn)化跟蹤參數(shù)服務(wù)的連接,不要在主線程中調(diào)用該方法。

開(kāi)發(fā)步驟:

步驟1 設(shè)置startConnection的監(jiān)聽(tīng)器為已創(chuàng)建的InstallReferrerStateListener監(jiān)聽(tīng)器。

步驟2 在子線程中調(diào)用startConnection方法連接服務(wù)。

InstallReferrerSdkUtil.java

mReferrerClient.startConnection(installReferrerStateListener);

5.集成轉(zhuǎn)化跟蹤參數(shù)開(kāi)放能力(AIDL方式)

1、新增AIDL接口文件

在工程中新增一個(gè)aidl接口文件,包名為com.huawei.android.hms.ppskit,文件名稱為IPPSChannelInfoService.aidl,拷貝下面內(nèi)容到文件中。

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、創(chuàng)建一個(gè)類,實(shí)現(xiàn)ServiceConnection接口。

開(kāi)發(fā)步驟:

步驟1 實(shí)現(xiàn)ServiceConnection的onServiceConnected方法。

步驟2 調(diào)用IPPSChannelInfoService.Stub.asInterface方法獲取IPPSChannelInfoService。

步驟3 調(diào)用getChannelInfo方法獲取轉(zhuǎn)化跟蹤參數(shù)。

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、連接轉(zhuǎn)化跟蹤參數(shù)的AIDL服務(wù)

開(kāi)發(fā)步驟:

步驟1 創(chuàng)建一個(gè)InstallReferrerServiceConnection實(shí)例。

步驟2 創(chuàng)建一個(gè)Intent,Action是"com.huawei.android.hms.CHANNEL_SERVICE"。

步驟3 設(shè)置Intent的包名為"com.huawei.hwid"。

步驟4 調(diào)用bindService連接轉(zhuǎn)化跟蹤參數(shù)的AIDL服務(wù)。

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

    intent.setPackage(Constants.SERVICE_PACKAGE_NAME);

    boolean result = mContext.bindService(intent, mServiceConnection, Context.BIND_AUTO_CREATE);

    Log.i(TAG, "bindService result: " + result);

    return result;

}

4、斷開(kāi)轉(zhuǎn)化跟蹤參數(shù)的AIDL服務(wù)

使用完AIDL接口后,應(yīng)該主動(dòng)斷開(kāi)服務(wù)連接。

InstallReferrerAidlUtil.java

private void unbindService() {

    if (null != mServiceConnection) {

        unbindService(mServiceConnection);

    }

}

立即登錄,閱讀全文
版權(quán)說(shuō)明:
本文內(nèi)容來(lái)自于華為開(kāi)發(fā)者聯(lián)盟官網(wǎng),本站不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。文章內(nèi)容系作者個(gè)人觀點(diǎn),不代表快出海對(duì)觀點(diǎn)贊同或支持。如有侵權(quán),請(qǐng)聯(lián)系管理員(zzx@kchuhai.com)刪除!
相關(guān)文章
小游戲,大買賣 | HUAWEI Ads助力廣告主突破中東非市場(chǎng)
小游戲,大買賣 | HUAWEI Ads助力廣告主突破中東非市場(chǎng)
目前,中東非游戲市場(chǎng)種類和數(shù)量繁多,其中射擊、經(jīng)營(yíng)、跑酷、消除、解密等休閑類小游戲深受大眾喜歡,這些游戲有著玩法簡(jiǎn)單、容易上手、時(shí)間碎片化、廣告能變現(xiàn)等特點(diǎn)。市場(chǎng)潛力巨大。
HUAWEI Ads
中東
2022-08-022022-08-02
HUAWEI Ads智能客服上線啦
HUAWEI Ads智能客服上線啦
HUAWEI Ads智能客服上線啦,有什么問(wèn)題都可以解答。
HUAWEI Ads
2022-04-062022-04-06
Meta AI嘗試解決維基百科人物傳記所存在的性別偏見(jiàn)問(wèn)題
Meta AI嘗試解決維基百科人物傳記所存在的性別偏見(jiàn)問(wèn)題
Meta研究人員創(chuàng)建人工智能系統(tǒng),來(lái)編寫出維基百科風(fēng)格的傳記草稿,使得維基百科編輯能夠以最少的編輯,在維基百科上提供女性人物的傳記,以補(bǔ)充目前維基百科上,男女性人物傳記數(shù)量失衡的狀況。
AI
Meta
2022-04-022022-04-02
海外廣告業(yè)務(wù)合規(guī)化,HUAWEI Ads通過(guò)IAB歐洲透明度和同意框架CMP認(rèn)證
海外廣告業(yè)務(wù)合規(guī)化,HUAWEI Ads通過(guò)IAB歐洲透明度和同意框架CMP認(rèn)證
繼HUAWEI Ads平臺(tái)于2020年加入TCF v2.0的全球供應(yīng)商列表(Global Vendor List,供應(yīng)商ID856)積極推動(dòng)程序化廣告生態(tài)鏈標(biāo)準(zhǔn)化建設(shè)之后,2022年3月,HUAWEI Ads順利通過(guò)IAB歐洲透明度和同意框架CMP認(rèn)證(CMP ID 386),成為國(guó)內(nèi)首家具備在海外市場(chǎng)提供CMP服務(wù)的廣告平臺(tái)。
HUAWEI Ads
廣告行業(yè)
2022-03-282022-03-28
優(yōu)質(zhì)服務(wù)商推薦
更多
掃碼登錄
打開(kāi)掃一掃, 關(guān)注公眾號(hào)后即可登錄/注冊(cè)
加載中
二維碼已失效 請(qǐng)重試
刷新
賬號(hào)登錄/注冊(cè)
小程序
快出海小程序
公眾號(hào)
快出海公眾號(hào)
商務(wù)合作
商務(wù)合作
投稿采訪
投稿采訪
出海管家
出海管家