Android友盟推送

简介: Android友盟推送

当前版本号:v3.0.5


1.下载SDK解压并导入(import module,compile project(':PushSDK')),里面有demo,用demo的包名去官网添加一个应用,然后替换demo中的manifest文件里面的appkey和message_secret,就可以直接运行。


2.初始化SDK

public class App extends Application {
    public PushAgent mPushAgent;
    @Override
    public void onCreate() {
        super.onCreate();
        mPushAgent = PushAgent.getInstance(this);
        //注册推送服务,每次调用register方法都会回调该接口
        mPushAgent.register(new IUmengRegisterCallback() {
            @Override
            public void onSuccess(String deviceToken) {
                //注册成功会返回device token
                Log.e("deviceToken-------",deviceToken);
            }
            @Override
            public void onFailure(String s, String s1) {
            }
        });
        mPushAgent.setPushIntentServiceClass(UmengPushIntentService.class);
    }
}

这样就已经可以测试了。


3.打开指定页面


包名加activity名,com.umeng.demo.SecondActivity


4.自定义参数


自定义一个service去继承UmengMessageService

public class UmengPushIntentService extends UmengMessageService {
   @Override
    public void onMessage(Context context, Intent intent) {
        Intent data = new Intent(intent);
        data.setClass(context, TestActivity.class);
        //需为Intent添加Flag:Intent.FLAG_ACTIVITY_NEW_TASK,否则无法启动Activity。
        data.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
        context.startActivity(data);
    }
}

在跳转的activity中去接收数据并解析


public class TestActivity extends AppCompatActivity {
    public static final String TAG = "TestActivity";
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_test);
        final String message = getIntent().getStringExtra(MESSAGE_BODY);
        if (TextUtils.isEmpty(message))
            return;
        final UMessage msg;
        try {
            msg = new UMessage(new JSONObject(message));
            UTrack.getInstance(this).trackMsgClick(msg);
            Map<String, String> extra = msg.extra;
            Log.d(TAG, "message=" + message);    //消息体
            Log.d(TAG, "custom=" + msg.custom);    //自定义消息的内容
            Log.d(TAG, "title=" + msg.title);    //通知标题
            Log.d(TAG, "text=" + msg.text);    //通知内容
            AlertDialog dialog;
            if (null != extra && extra.containsKey("msgType"))
                dialog = new AlertDialog.Builder(this)
                        .setTitle("if消息提示")
                        .setMessage(msg.text+"11111")
                        .setCancelable(false)
                        .setPositiveButton("确认", new DialogInterface.OnClickListener() {
                            @Override
                            public void onClick(DialogInterface dialog, int which) {
                            }
                        })
                        .create();
            else
                dialog = new AlertDialog.Builder(this)
                        .setTitle("else消息提示")
                        .setMessage(msg.text)
                        .setCancelable(false)
                        .setPositiveButton("确认", null)
                        .create();
            dialog.setOnDismissListener(new DialogInterface.OnDismissListener() {
                @Override
                public void onDismiss(DialogInterface dialog) {
                    onBackPressed();
                }
            });
            dialog.show();
        } catch (JSONException e) {
            e.printStackTrace();
        }
    }
}

自定义的service需要在application类中调用


mPushAgent.setPushIntentServiceClass(UmengPushIntentService.class);

同时需要在manifest在注册


<service android:name=".UmengPushIntentService"
            android:process=":push"/>

相关实践学习
基于阿里云DeepGPU实例,用AI画唯美国风少女
本实验基于阿里云DeepGPU实例,使用aiacctorch加速stable-diffusion-webui,用AI画唯美国风少女,可提升性能至高至原性能的2.6倍。
目录
相关文章
|
9月前
|
Java Android开发
Android 进行友盟多渠道打包步骤详解
Android 进行友盟多渠道打包步骤详解
199 0
|
数据采集 前端开发 Java
Android 友盟简单快速集成
Android 友盟简单快速集成
Android 友盟简单快速集成
|
缓存 编解码 监控
Android 移动应用性能优化 之 友盟
Android 移动应用性能优化 之 友盟
137 0
Android 移动应用性能优化 之 友盟
|
监控 开发工具 Android开发
Android Studio集成友盟SDK
在企业开发中往往会给开发人员提出很多的开发要求,如做商城APP的时候,产品经理希望统计某个商品的购买量,或者运营的同事要求你统计APP的启动数,新增客户量,有时候开发人员需要监控APP在用户手中的使用情况,这个时候我们就需要集成友盟SDK来帮助我们解决这些问题
140 0
|
JSON 缓存 Android开发
Android友盟三方登录、微信新浪分享成功不走回调
微信新浪分享成功不走回调 检查微信回调WXEntryActivity是否是在包名路径下, 例如 包名是com.a.b(微信友盟开放平台),那么你这个activity应该放在com.a.b.wxapi文件夹下 包名为com.a.b ,这个activity放在com.a.b.view.wxapi文件夹下 导致微信回调失败(新浪同理)
297 0
|
监控 小程序 机器人
|
监控 小程序 机器人
Android友盟U-APM快速集成与极致体验
使用友盟U-APM快速集成与极致体验
Android友盟U-APM快速集成与极致体验
|
存储 JSON Java
使用友盟+的APM服务实现基于Xamarin.Android的应用程序启动性能优化
随着开发平台的普及, 我们需要正确的⼯具和⽅法来满⾜不断增⻓的需求。Xamarin就是这样⼀种框架, 它⽀持在 Android、 iOS 和 Windows 平台上共享单个代码库。所以,我们将在 Xamarin.Android应⽤程序中测试性能, 就像在 AndroidStudio 中使⽤ Java 开发⼀样, 我们可以使⽤c#对性能进⾏测试, 从⽽优化启动时间。
使用友盟+的APM服务实现基于Xamarin.Android的应用程序启动性能优化
|
XML Java 数据库
使用友盟+的APM服务实现基于APK加速启动时间的Android系统资源优化
为了尽可能减⼩应⽤的⼤⼩,我们应该在发布版本中移除不使⽤的代码和资源。 另外还存在两个优化⽅向可以⽤来缩减应⽤程序的占⽤空间,⼀项是使⽤混淆处理功能,该功能会缩短应⽤的类 和成员的名称;另⼀项是使⽤优化功能,该功能会采⽤更积极的策略来进⼀步减⼩应⽤的⼤⼩。本⽂将介绍如何通过APK的资源优化来减轻应⽤程序的占⽤空间从⽽节省⽤户资源。
使用友盟+的APM服务实现基于APK加速启动时间的Android系统资源优化