flutter集成極光推送教程

先去極光后臺創(chuàng)建應用

然后在這里填寫自己的flutter包名


然后在這里填寫包名

自己的包名在這里看到

JPUSH_PKGNAME填寫自己的包名
具體包名在這里可以找到


image.png

或者這里
image.png

JPUSH_APPKEY填寫創(chuàng)建應用的秘鑰


秘鑰這里找

JPUSH_CHANNEL默認所寫內容

manifestPlaceholders = [
                JPUSH_PKGNAME: "包名",
                JPUSH_APPKEY : "秘鑰", /*NOTE: JPush 上注冊的包名對應的 Appkey.*/
                JPUSH_CHANNEL: "developer-default", /*暫時填寫默認值即可.*/
        ]
image.png

當然別忘了在pubspec.yaml里獲取極光插件庫

jpush_flutter: 0.1.0 #極光推送
image.png
別忘了get

在main.dart里引用庫

///推送
import 'package:jpush_flutter/jpush_flutter.dart';

然后在MyApp里聲明變量

String debugLable = 'Unknown';   /*錯誤信息*/
final JPush jpush = new JPush(); /* 初始化極光插件*/

在initState里初始化JPush,注意 jpush.setup這里4個參數(shù)必填,官方文檔沒提,但這里少一個就會導致ios閃退

    /// 配置jpush(不要省略)
    ///debug就填debug:true,我這是生產環(huán)境所以production:true
    jpush.setup(appKey: '自己的秘鑰' ,channel: 'developer-default',production: true,debug: false);
    /// 監(jiān)聽jpush
    jpush.applyPushAuthority(
        new NotificationSettingsIOS(sound: true, alert: true, badge: true));
    jpush.addEventHandler(
      onReceiveNotification: (Map<String, dynamic> message) async {
        print(message);
      },
      onOpenNotification: (Map<String, dynamic> message) async {
        /// 點擊通知欄消息,在此時通??梢宰鲆恍╉撁嫣D等

      },
    ); 

測試是否可以推送
在一個頁面引入極光庫

///推送
import 'package:flutter/services.dart';
import 'package:jpush_flutter/jpush_flutter.dart';

老樣子配置變量

String debugLable = 'Unknown';   /*錯誤信息*/
final JPush jpush = new JPush(); /* 初始化極光插件*/

隨便找一個觸發(fā)按鈕函數(shù)測試

/*三秒后出發(fā)本地推送*/
var fireDate = DateTime.fromMillisecondsSinceEpoch(DateTime.now().millisecondsSinceEpoch + 1000);
var localNotification = LocalNotification(
    id: 234,
    title: '我是推送測試標題wwwwwwwww',
    buildId: 1,
    content: '看到了說明已經成功了hahahaha',
    fireTime: fireDate,
    subtitle: '一個測試qqqqqqqq',
);
jpush.sendLocalNotification(localNotification).then((res) {
    print('sddd');
    setState(() {
        debugLable = res;
    });
});

配置極光的tag和別名還有ios端的證書配置稍后更新
ios蘋果端并不需要改動代碼,只需要配置證書開啟服務就行
先打開runner文件(ios代碼)


image.png

在xcode打開后按如下步驟來開啟push功能
在此前別忘了配置你的appleID


image.png

image.png

image.png

一般來說這里appid都是公司給你的,而且我這邊已經自動配置好了Identifiers
image.png

所以暫且略過如和配置Identifiers,我記得如果你開啟了Automatically manage signing(自動管理證書)的功能,會自動在你的appleID開發(fā)者賬戶里創(chuàng)建和你項目Bundle Identifier一樣的Identifiers,什么是Automatically manage signing呢
就是下面這個


image.png

所以選擇好team后,按下面開啟push功能
image.png

雙擊開啟push功能,成功開啟后是這樣的
image.png

剩下的就是在你的開發(fā)者中心配置推送證書了
image.png

image.png

點擊你的Identifiers,進去后往下滑,找到Push Notifications,打鉤然后Configure

這一步需要上傳你本機生成的證書文件
image.png

那我們先去生成證書,這個開發(fā)者中心這一步暫停

打開本機的
image.png

image.png

這里的用戶電子郵件地址和CA電子郵件地址我填寫的是公司appleid的郵箱
常用名稱建議起一個記得住分得清的名字,例如我就是按照項目名+具體端(商戶端或者客戶端)+用途(Push),注意要存儲到磁盤,然后點擊繼續(xù)下一步
image.png

保存到桌面即可,建議單獨建立一個新文件夾來存放這個項目所需要的證書,以免以后亂
image.png

然后把這個證書上傳到剛剛我們暫停的地方
image.png

選擇我們剛剛生成的證書,然后continue
image.png

然后download就行,這個就是Development開發(fā)環(huán)境的證書
image.png

重復步驟弄好Production生成環(huán)境證書,最后得到兩個這個文件.cer
image.png

一個是開發(fā)一個是生產
我們之前的也有變化
image.png

這里可以看到推送證書過期時間
image.png

如果證書找不到還可以來這里從新下載
但極光后臺要的是p12后綴的證書
所以分別雙擊打開
image.png

然后在本機的鑰匙串訪問里找到,根據(jù)后面的Bundle Identifier
image.png

分別右擊導出
image.png

image.png

這里的密碼是自己自定義的證書密碼,記住就行



如果還有一步輸入密碼則是你電腦的登錄密碼授權而已
最后一共4個文件
image.png

然后回到極光開發(fā)后臺
image.png

分別上傳后綴為.p12的對應證書,密碼則是剛剛你自己設置的證書密碼
image.png

是否將生產證書用于開發(fā)環(huán)境,這個選項是假如你就一個生產證書的話,極光也可以用于開發(fā)環(huán)境下推送測試,我們全都有,所以不需要,直接保存
然后能看到這里的過期時間和蘋果開發(fā)者中心那邊的過期時間是一樣的

最后在Android studio里從新打包生成就好
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

友情鏈接更多精彩內容