如何提升页面下载转化率?如何追踪安装来源?不用填写邀请码?一键加入游戏房间?来来来~~

本文介绍如何使用ShareInstall SDK提升页面下载转化率和追踪安装来源。通过导入SDK,配置AndroidManifest.xml,初始化设置,以及使用intent-filter实现一键唤醒和个性化安装,特别是如何获取和处理如邀请码、游戏房间号等自定义参数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

上次发文介绍了已推广神器-shareinstall,很多博客的程序员问我如何使用这个东西,今天在这里给大家分享一下教程?

  1. 导入SDK

从下载的ShareInstallSdk.zip文件中,将aar文件拷贝到项目的libs文件夹中,并导入。

dependencies {
    compile(name: 'ShareInstall_1.0.5', ext: 'aar')
}

(注:导入aar需检查build文件中是否已经加入以下代码,否则会报错)

repositories { 
    flatDir {
        dirs 'libs'
    }
}
  1. 基础配置

在AndroidMainfest.xml中添加权限声明。

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

在AndroidMainfest.xml中的application标签中添加分配给你应用的Appkey

<meta-data    
    android:name="com.shareinstall.APP_KEY"   
    android:value="F6BKAREBHF22EB"/>

在自定义Application中调用ShareInstall.getInstance().init(context)方法完成SDK初始化,初始化前先判断当前进程是否是应用的主进程。

public class MyApp extends Application {
    @Override
    public void onCreate() {
        super.onCreate();
        if (isMainProcess()) {
            ShareInstall.getInstance().init(getApplicationContext());
        }
    }
    /**
        * 判断当前进程是否是应用的主进程
        *
        * @return
        */
    public boolean isMainProcess() {
        int pid = android.os.Process.myPid();
        ActivityManager activityManager = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);
        for (ActivityManager.RunningAppProcessInfo appProcess : activityManager.getRunningAppProcesses()) {
            if (appProcess.pid == pid) {
                return getApplicationInfo().packageName.equals(appProcess.processName);
            }
        }
        return false;
    }
}

如果使用ShareInstall控制中心提供的注册统计功能,可调用方法ShareInstall.getInstance().reportRegister(); 注意该方法要在ShareInstall.getInstance().init (context)方法之后调用,否则会抛异常。

// 调用注册接口
ShareInstall.getInstance().reportRegister();

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

<application
        android:name=".MyApplication"
        android:allowBackup="false"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
</application>
  1. 一键跳转

在AndroidMainfest的唤醒页面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="dekf0466" />
    </intent-filter>
</activity>

注:如果唤醒页面和启动页是同一Activity,则AndroidMaifest.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="dekf0466"/>
    </intent-filter>
</activity>

个性化安装和一键唤醒都调用同一个方法ShareInstall.getInstance().getInfo()获取相关信息,第一个参数为Intent(注:Intent可传null,但在配置了scheme唤醒的页面必须传,否则拿不到传递过来的参数),第二个参数为信息回调监听

  1. 个性化安装

在APP需要个性化安装参数时(由web网页中传递过来的,如邀请码、游戏房间号等 自定义参数),调用以下方法,在回调中获取参数。

ShareInstall.getInstance().getInfo(intent, new AppGetInfoListener() {
    @Override
    public void onGetInfoFinish(String info) {
        Log.d("ShareInstall", "info = " + info);
    }
});
  1. 唤醒页面获取信息
public class WakeUpActivity extends AppCompatActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_wake_up);
        // 获取唤醒参数
        ShareInstall.getInstance().getInfo(getIntent(), listener);
    }
    @Override
    protected void onNewIntent(Intent intent) {
        super.onNewIntent(intent);
        // 此处要调用,否则app在后台运行时,会无法截获
        ShareInstall.getInstance().getInfo(intent, listener);
    }
    private AppGetInfoListener listener = new AppGetInfoListener() {
        @Override
        public void onGetInfoFinish(String info) {
            Log.d("ShareInstall", "info = " + info);
        }
    };

  


其实步骤很简单,似乎他们官网也出了类似教程,www.shareinstall.com

作为个合格的程序员,赶紧给身边的产品狗、运营猫和大boss推荐一下这个吧

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值