flutterupushplugin 0.0.2
flutterupushplugin: ^0.0.2 copied to clipboard

A new Flutter plugin.

UmengPush Flutter Plugin #

安装 #

在工程 pubspec.yaml 中加入 dependencies

dependencies:
  flutterupushplugin: ^0.0.1

配置 #

Android: #

第一步: #

android/app/build.gradle中添加下列代码:

注意manifestPlaceholders里面的值格式一定是:@xxxxxx,@不能省略,省略了就会注册失败。

android: {
  ....
  defaultConfig {
    applicationId "替换成自己应用 ID"
    ...
   manifestPlaceholders = [
                UMENG_APPKEY : "@替换成自己umeng appkey",
                UMENG_MESSAGE_SECRET : "@替换成自己umeng message secret",
                UMENG_CHANNEL : "替换成自己渠道名称",
                XIAOMI_ID : "@替换成自己XIAOMI_ID",
                XIAOMI_KEY : "@替换成自己XIAOMI_KEY",
                MEIZU_APPID : "@替换成自己MEIZU_APPID",
                MEIZU_APPKEY : "@替换成自己MEIZU_APPKEY",
                HUAWEI_APPID : "@替换成自己HUAWEI_APPID",
                OPPO_KEY : "@替换成自己OPPO_KEY",  
                OPPO_SECRET : "@替换成自己 OPPO_SECRET"
        ]
  }
}

如果没有申请某个厂商通道,就不用配置,例如:没有申请OPPO推送

android: {
  ....
  defaultConfig {
    applicationId "替换成自己应用 ID"
    ...
   manifestPlaceholders = [
                UMENG_APPKEY : "@替换成自己umeng appkey",
                UMENG_MESSAGE_SECRET : "@替换成自己umeng message secret",
                UMENG_CHANNEL : "替换成自己渠道名称",
                XIAOMI_ID : "@替换成自己XIAOMI_ID",
                XIAOMI_KEY : "@替换成自己XIAOMI_KEY",
                MEIZU_APPID : "@替换成自己MEIZU_APPID",
                MEIZU_APPKEY : "@替换成自己MEIZU_APPKEY",
                HUAWEI_APPID : "@替换成自己HUAWEI_APPID",
                //这里去掉了OPPO配置
        ]
  }
}

第二步: #

1.主项目的启动类一定要要继承 UPushMainActivty,例如:

public class MainActivity extends UPushMainActivty  {

}

2.自定义Recevier组件受魅族接入方式限制,必须在包名目录实现一个自定义Recevier,继承自MeizuPushReceiver,例如:

public class MeizuTestReceiver extends MeizuPushReceiver {

}

然后在AndroidManifest.xml中配置该Recevier,例如:

<!--魅族push应用定义消息receiver声明 -->
<receiver android:name="${applicationId}.MeizuTestReceiver">
        <intent-filter>
            <!-- 接收push消息 -->
            <action android:name="com.meizu.flyme.push.intent.MESSAGE" />
            <!-- 接收register消息 -->
            <action android:name="com.meizu.flyme.push.intent.REGISTER.FEEDBACK" />
            <!-- 接收unregister消息-->
            <action android:name="com.meizu.flyme.push.intent.UNREGISTER.FEEDBACK" />
            <!-- 兼容低版本Flyme3推送服务配置 -->
            <action android:name="com.meizu.c2dm.intent.REGISTRATION" />
            <action android:name="com.meizu.c2dm.intent.RECEIVE" />
            <category android:name="${applicationId}"></category>
        </intent-filter>
</receiver>

3. 厂商对后台进程做了诸多限制。若使用一键清理,应用的channel进程被清除,将接收不到推送。为了增加推送的送达率,接入厂商托管弹窗功能。通知将由厂商系统托管弹出,点击通知栏将跳转到指定的Activity。该Activity需继承自UPushOffLineNotificationActivity,例如: #

public class MipushTestActivity extends UPushOffLineNotificationActivity {

}

4.做SDK代码初始化工作,所以自定义的Application需集成 UPushApplication,例如: #

public class MyApplication extends UPushApplication {

}

然后在AndroidManifest.xml中配置该MyApplication,例如:

<manifest>
 ...
    <application
        android:name="替换成自己应用的包名.MyApplication"
       >
</manifest>

iOS: 在完善中 #

2
likes
70
pub points
9%
popularity

Publisher

Unknown

A new Flutter plugin.

Homepage

License

LICENSE

Dependencies

flutter

More

Packages that depend on flutterupushplugin