【Openinstall】Android端集成及基本使用

openinstall - 产品概述

1.首先贴出openinstall文档(点我查看)

2.工作流程如下

3.携带参数安装

Openinstall的核心价值在于,帮助Android/iOS开发者精确的获取App每一次安装的分享(或推广)来源。

4.渠道统计

openinstall在精准的App分享来源跟踪的技术上,开发了免打包、跨平台的App推广渠道统计功能。

5.快速安装与一键拉起

Android SDK 集成指南

Android SDK 集成指南

一、下载并导入 SDK

二、初始化

三、功能集成

1. 快速下载

2. 一键拉起

3. 携带参数安装

4. 渠道统计

一、下载并导入 SDK

下载中心下载 Android 最新版本 SDK

从下载的文件中,将 jar 文件拷贝到项目的libs文件夹中,并使用 gradle 导入

    implementation files('libs/OpenInstall_vX.X.X.jar')

或者导入libs目录中所有 jar 文件

    implementation fileTree(dir: 'libs', include: ['*.jar'])

二、初始化

AndroidManifest.xml中添加权限声明

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

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

 

AndroidManifest.xmlapplication标签内设置AppKey

<meta-data

    android:name="com.openinstall.APP_KEY"

    android:value="OPENINSTALL_APPKEY"/>

 

备注:OPENINSTALL_APPKEY替换成 openinstall 为应用分配的appkey

App 启动时,调用OpenInstall.init(context)方法完成 sdk 初始化

 

示例代码

在自定义 Application 中初始化为例

public class MyApplication extends Application {

    @Override

    public void onCreate() {

        super.onCreate();

        if (isMainProcess()) {

         OpenInstall.init(this);

        }

    }

 

<span class="hljs-function"><span class="hljs-keyword">public</span> <span class="hljs-keyword">boolean</span> <span class="hljs-title">isMainProcess</span><span class="hljs-params">()</span> </span>

{

    <span class="hljs-keyword">int</span> pid = android.os.Process.myPid();

    ActivityManager activityManager = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);

    <span class="hljs-keyword">for</span> (ActivityManager.RunningAppProcessInfo appProcess : activityManager.getRunningAppProcesses()) {

        <span class="hljs-keyword">if</span> (appProcess.pid == pid) {

            <span class="hljs-keyword">return</span> getApplicationInfo().packageName.equals(appProcess.processName);

        }

    }

    <span class="hljs-keyword">return</span> <span class="hljs-keyword">false</span>;

}

 

备注:当应用存在多个进程时,确保只在主进程进行初始化

 

AndroidManifest.xml中的application标签中添加android:name=".MyApplication"指定自定义的Application类,以便程序启动的时候初始化自定义Application类,而不是系统默认的Application

<application

android:name=".MyApplication"

android:allowBackup=“false”

android:icon="@drawable/ic_launcher"

android:label="@string/app_name"

android:supportsRtl=“true”

android:theme="@style/AppTheme">

</application>

三、功能集成

1. 快速下载

如果只需要快速下载功能,无需其它功能(携带参数安装、渠道统计、一键拉起),完成初始化即可

2. 一键拉起

2.1 在AndroidManifest.xml的拉起页面activity标签中添加intent-filter(一般为MainActivity),配置scheme,用于浏览器中拉起

<activity

android:name=".MainActivity"

android:launchMode=“singleTask”>

<intent-filter>

<action android:name=“android.intent.action.VIEW”/>

<category android:name=“android.intent.category.DEFAULT”/>

<category android:name=“android.intent.category.BROWSABLE”/>

<data android:scheme=“OPENINSTALL_SCHEME”/>

</intent-filter>

</activity>

 

如果拉起页面和启动页是同一Activity,则AndroidManifest.xml的配置如下

<activity

android:name=".MainActivity"

android:launchMode=“singleTask”>

<intent-filter>

<action android:name=“android.intent.action.MAIN”/>

<category android:name=“android.intent.category.LAUNCHER”/>

</intent-filter>

<intent-filter>

<action android:name=“android.intent.action.VIEW”/>

<category android:name=“android.intent.category.DEFAULT”/>

<category android:name=“android.intent.category.BROWSABLE”/>

<data android:scheme=“OPENINSTALL_SCHEME”/>

</intent-filter>

</activity>

 

备注:OPENINSTALL_SCHEME配置成 openinstall 为应用分配的scheme

2.2 在拉起页面中如下调用相关代码,获取 web 端传过来的动态参数

public class MainActivity extends Activity {

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

//获取唤醒参数

OpenInstall.getWakeUp(getIntent(), wakeUpAdapter);

}

@Override

protected void onNewIntent(Intent intent) {

super.onNewIntent(intent);

// 此处要调用,否则App在后台运行时,会无法截获

OpenInstall.getWakeUp(intent, wakeUpAdapter);

}

 

AppWakeUpAdapter wakeUpAdapter = new AppWakeUpAdapter() {

@Override

public void onWakeUp(AppData appData) {

//获取渠道数据

String channelCode = appData.getChannel();

//获取绑定数据

String bindData = appData.getData();

Log.d(“OpenInstall”, "getWakeUp : wakeupData = " + appData.toString());

}

};

@Override

protected void onDestroy() {

super.onDestroy();

wakeUpAdapter = null;

}

}

3. 携带参数安装(高级版功能)

在 APP 需要安装参数时(由 web 网页中传递过来的,如邀请码、游戏房间号等动态参数),调用OpenInstall.getInstall方法,在回调中获取参数(可重复获取)

OpenInstall.getInstall(new AppInstallAdapter() {

@Override

public void onInstall(AppData appData) {

//获取渠道数据

String channelCode = appData.getChannel();

//获取自定义数据

String bindData = appData.getData();

Log.d(“OpenInstall”, "getInstall : installData = " + appData.toString());

}

});

4. 渠道统计(高级版功能)

SDK 会自动完成访问量、点击量、安装量、活跃量、留存率等统计工作。

4.1 注册量统计

如需统计每个渠道的注册量(对评估渠道质量很重要),可根据自身的业务规则,在确保用户完成 app 注册的情况下调用以下接口:

//用户注册成功后调用

OpenInstall.reportRegister();

4.2 渠道效果统计

效果点建立在渠道基础之上,主要用来统计终端用户对某些特殊业务的使用效果,如充值金额,分享次数等等。

调用接口前,请先进入管理后台“效果点管理”中添加效果点

调用接口时,请使用后台创建的 “效果点ID” 作为pointId

OpenInstall.reportEffectPoint(pointId, pointValue);

调用接口后,可在后台查看效果点统计数据

前面大都是官网文档。下面简述一下渠道管理

1.首先您在集成过程中,先上传基础包(未区分渠道)

2.新建渠道

 

按要求填写完成

3.导出渠道包

这里选中你之前上传的基础包(选中你需要的版本)。导出你所需要的该渠道的安装包(相当于给该apk加了一层壳,或者加了一个标识)(同android studio通过productFlavors进行多渠道打包)

 

这样在前面安装时候。你便可以获取到该渠道了

OpenInstall.getInstall(new AppInstallAdapter() {

    @Override

    public void onInstall(AppData appData) {

        //获取渠道数据

        String channelCode = appData.getChannel();

        //获取自定义数据

        String bindData = appData.getData();

        Log.d("OpenInstall", "getInstall : installData = " + appData.toString());

    }

});

 

 

posted @ 2019-12-10 17:23  鱼跃此时海P  阅读(913)  评论(0编辑  收藏  举报