三方接入系列之——友盟推送统计接入

推送和统计几乎是每个app必需的功能,友盟的推送统计功能全面,受到很多公司的选择青睐。
代码直通车

接入步骤

  1. 首先,需要在友盟开放平台获取Appkey和messageSecrete。引入umeng-analytics-v5.6.4.jar和PushSDK(demo里面也自带)。

2.配置Appkey和messageSecrete,以及统计的各个渠道。

        
        
        
        

3.使用manifestPlaceholders设置渠道,点进源码我们可以发现manifestPlaceholders接收是一个Map的参数,所以这样其实还有很多可以自定义的地方。

    /**
     * Sets a new set of manifest placeholders.
     *
     * 

See * Inject Build Variables into the Manifest. */ public void setManifestPlaceholders(@NonNull Map manifestPlaceholders) { mManifestPlaceholders.clear(); this.mManifestPlaceholders.putAll(manifestPlaceholders); }

在build.gradle文件android{}下设置:

    productFlavors.all{
        flavor -> flavor.manifestPlaceholders = [UMENG_CHANNEL_VALUE: name]
    }

productFlavors {
        google {}//谷歌市场
        baidu {}//百度应用中心
        yingyongbao {}//腾讯应用宝
        "360" {}//360
        "91" {}//91助手
        wandoujia {}//豌豆荚
        xiaomi {}//小米商城
        huawei {}//华为
        meizu {}//魅族
        sougou {}//搜狗
        lianxiang {}//联想乐商店
        zhongxing {}//中兴应用商店
        umeng {}//友盟
        uc {}//UC
        oppo {}//oppo
        leshi {}//乐视应用商店
    }

4.在Baseactivity中开启统计,包括onResume,onPause统计每个页面的停留、日活量等信息。

public class BaseActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        //统计应用启动数据
        PushAgent.getInstance(this).onAppStart();
    }

    //友盟session的统计
    @Override
    protected void onResume() {
        super.onResume();
        MobclickAgent.onResume(this);
    }

    @Override
    protected void onPause() {
        super.onPause();
        MobclickAgent.onPause(this);
    }

}

在Application中开启友盟统计功能开关

 MobclickAgent.setCatchUncaughtExceptions(true);
  1. 最后在Mainactivity中设置友盟推送的开关;
    因为通常app的个人设置页面都会有开启推送功能的开关。给用户选择安静的时候,有的老赖app推送消息起来特别吓人,刚打开,通知栏就弹出长长的一列通知,譬如微博!就是它。

  2. UmengRegistrar.getRegistrationId(this)获取devicetoken,获取设备唯一表示,这样推送才能准确到达某个手机。并且在登录的时候将devicetoken发送给后台,后台推送的处理需要。

    private void umengPush(boolean isOpenPush) {
        //开启友盟推送服务
        mPushAgent = PushAgent.getInstance(this);
        if (isOpenPush) {
            mPushAgent.enable(new IUmengRegisterCallback() {
                @Override
                public void onRegistered(String s) {
                }
            });
        } else {
            mPushAgent.disable();
        }
        //获取设备token
        MyApp.DEVICE_TOKEN = UmengRegistrar.getRegistrationId(this);
    }

你可能感兴趣的:(三方接入系列之——友盟推送统计接入)