栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Android 消息推送:个推,flutterrow居中

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Android 消息推送:个推,flutterrow居中

  • 请登录个推网址,选择登记应用并填写应用名称和包名信息,完成应用创建:

  • 点击应用配置,获取到相应的AppID、AppKey、AppSecret信息:

2. 打开项目工程
  • 启动Android Studio, 打开您之前创建的Android项目工程:

  • 如果需要从原有的Eclipse项目导入,请选择import project (Eclipse ADT, Gradle, etc.):

3. 添加个推SDK及相关配置

老版本升级到 2.9.5.0 及以上版本注意事项:

1、替换旧的GetuiSDKxxx.jar,并删除GetuiExt-xxx.jar和所有jni相关目录下的libgetuiext.so

2、删除AndroidManifest.xml中以下组件相关的配置,最新的SDK已经不再需要这些组件:

com.igexin.sdk.PushServiceUser

com.igexin.sdk.PushManagerReceiver

com.igexin.getuiext.activity.GetuiExtActivity

com.igexin.getuiext.service.PayloadReceiver

com.igexin.getuiext.service.GetuiExtService

3、删除app/src/main/res/layout目录下原来旧的布局文件,包括getui_notification.xml、notification_inc.xml和increment_popup_dialog.xml,请使用最新SDK所提供的getui_notification.xml即可

3.1 个推Android SDK资料包结构

GETUI_ANDROID_SDK/

|- readme.txt (SDK资料包说明)

|- 接入文档/ (Android SDK相关集成文档PDF版本)

|- 资源文件/

| |- res/

| | |- layout/

| | | |- getui_notification.xml (个推SDK所需的布局文件)

| | |- raw

| | | |- keep.xml (用于资源保留的描述文件)

| |- so/ (各 CPU 架构so库)

| | |- arm64-v8a/

| | |- armeabi/

| | |- armeabi-v7a/

| | |- mips/

| | |- mips64/

| | |- x86/

| | |- x86_64/

| |- GetuiSDK2.11.1.0.jar

| |- android-support-v4.jar

| - Demo工程/

| |- Getui_SDK_Demo_AS_maven/ (AndroidStudio快速集成Demo工程)

| |- Getui_SDK_Demo_AS_official/ (AndroidStudio标准集成Demo工程)

| |- Getui_SDK_Demo_Eclipse_official/ (Eclipse集成Demo工程)

3.2 添加Maven库地址

尽管我们会将最新的个推SDK同步部署在JCenter上,但是为了保障稳定使用,我们建议开发者额外配置个推提供的maven库从而实现更快速的访问。

  • 在以项目名为命名的顶层build.gradle文件中,添加个推maven库地址,如下所示:

//Maven URL地址 maven { url "http://mvn.gt.igexin.com/nexus/content/repositories/releases/" }

复制

3.3 配置依赖
  • 在app/build.gradle文件中引用个推SDK依赖库,如下图所示:

dependencies {

compile fileTree(dir: ‘libs’, include: [’*.jar’])

compile ‘com.getui:sdk:2.11.1.0’

compile 'com.android.supp

《Android学习笔记总结+最新移动架构视频+大厂安卓面试真题+项目实战源码讲义》

浏览器打开:qq.cn.hn/FTe 免费领取

ort:support-v4:+’

}

3.4 配置 so 库

目前个推SDK支持armeabi、armeabi-v7a、arm64-v8a、mips、mips64、x86、x86_64这几种 CPU 架构,请根据项目情况指定所需的架构。

如果项目中包含的其他 so 库只支持其中某几种 cpu 架构,那么应该根据其他 so 库所支持的 CPU 架构的最小集来配置。否则如果在特定架构上未能支持所有 so 库,则很可能导致程序运行异常。切记!

  • 在项目根目录下的gradle.properties文件中配置useDeprecatedNdk参数,如下图所示:

android.useDeprecatedNdk=true

  • 在app/build.gradle文件中的android.defaultConfig下指定所需的 CPU 架构,如下图所示:

android {

defaultConfig {

ndk {

abiFilters “armeabi”, “armeabi-v7a”, “x86_64”

}

}

}

3.5 配置个推应用参数
  • 在app/build.gradle文件中的android.defaultConfig下添加manifestPlaceholders,配置个推相关的应用参数(参见【步骤1】),如下图所示:

manifestPlaceholders = [ GETUI_APP_ID : "APP_ID", GETUI_APP_KEY : "APP_KEY", GETUI_APP_SECRET : "APP_SECRET" ]

复制

  • 请根据【步骤1】获取到的应用参数进行相应替换APP_ID、APP_KEY、APP_SECRET的值
3.6 配置自定义推送服务

为了让推送服务在部分主流机型上更稳定运行,从2.9.5.0版本开始,个推支持第三方应用配置使用自定义Service来作为推送服务运行的载体。

  • 在项目源码中添加一个继承自Android.app.Service的类,参考下列代码实现Service各个生命周期回调方法:

package com.getui.demo;

import android.app.Service;

import android.content.Intent;

import android.os.IBinder;

import com.igexin.sdk.GTServiceManager;

public class DemoPushService extends Service {

@Override

public void onCreate() {

super.onCreate();

GTServiceManager.getInstance().onCreate(this);

}

@Override

public int onStartCommand(Intent intent, int flags, int startId) {

super.onStartCommand(intent, flags, startId);

return GTServiceManager.getInstance().onStartCommand(this, intent, flags, startId);

}

@Override

public IBinder onBind(Intent intent) {

return GTServiceManager.getInstance().onBind(intent);

}

@Override

public void onDestroy() {

super.onDestroy();

GTServiceManager.getInstance().onDestroy();

}

@Override

public void onLowMemory() {

super.onLowMemory();

GTServiceManager.getInstance().onLowMemory();

}

}

  • 在AndroidManifest.xml中添加上述自定义Service:
3.7 配置可选权限
  • 上述接入方式已包含个推服务所需的所有必备权限。在此之外,您还可以配置以下可选权限,以便使用个推3.0提供的电子围栏功能。请在AndroidManifest.xml的根标签下添加如下配置:

;

3.8 导入通知栏图标
  • 为了修改默认的通知图标以及通知栏顶部提示小图标,请在资源目录的res/drawable-ldpi/、res/drawable-mdpi/、res/drawable-hdpi/、res/drawable-xhdpi/、res/drawable-xxhdpi/等各分辨率目录下,放置相应尺寸的文件名为push.png和push_small.png图片,如图所示:

  • 建议的push.png图片尺寸如下:

ldpi: 48*48

mdpi: 64*64

hdpi: 96*96

xhdpi: 128*128

xxhdpi: 192*192

  • 该图标push.png将会作为通知图标,如下所示:

  • 建议的push_small.png图片尺寸如下:

ldpi: 18*18

mdpi: 24*24

hdpi: 36*36

xhdpi: 48*48

xxhdpi: 72*72

xxxhdp: 96*96

  • 该图标push_small.png将会作为通知图标展示在通知栏顶部,如下所示:

  • push_small.png设计规范

3.9 资源精简配置
  • 如果您的工程启用了资源精简,即如果在app/build.gradle的android.buildTypes.release下配置了shrinkResources true,为了避免个推SDK所需资源被错误精简导致功能异常,需要在项目资源目录res/raw中添加keep.xml文件,路径如下:

  • 在SDK资料包中GETUI_ANDROID_SDK/资源文件/raw目录下有keep.xml示例文件,完整内容如下:

复制

  • 如果你的项目工程已经使用了keep.xml,则只需在tools:keep中增加对@layout/getui_notification的声明,例如:

复制

  • 如果您的工程使用了AndResGuard进行资源精简,为了避免个推SDK所需资源被错误精简导致功能异常,需要为个推添加白名单配置。

gradle集成AndResGuard的方式,需要您在andResGuard的whiteList节点下添加如下代码:

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/460089.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号