Ionic2中使用第三方插件極光推送


不同於Ionic1中插件的調用,Ionic2提供了Ionic Native。Ionic Native封裝了一些常見的插件(如:Camera、Barcode Scanner等),這些插件的使用方式在官方文檔中有詳細的描述。今天我們所說的第三方插件就是指Ionic Native中沒有,但在Ionic1中可以使用的插件。

創建新項目

ionic start JPush --v2 --id dpary.jpush.demo

運行以上命令,創建包名為“dpary.jpush.demo”的Ionic2應用。詳見Ionic常用命令。Ionic

極光開發者服務創建應用

安裝極光推送插件時,需要使用極光提供的AppKey。進入極光開發者服務后台,點擊右上角的創建應用(沒有極光帳號的自己去注冊,這里不再說明),如圖,按要求填寫必要內容

創建應用

注意應用包名要於第一步生成的包名一致

安裝極光推送插件

在項目目錄下執行如下命令:

cordova plugin add https://github.com/jpush/jpush-phonegap-plugin.git --variable API_KEY=your_jpush_appkey

將your_jpush_appkey替換為極光開發者服務提供的AppKey即可。

在項目中使用

src/pages/home/home.html

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<ion-header>
<ion-navbar>
<ion-title>Home</ion-title>
</ion-navbar>
</ion-header>
 
<ion-content padding>
<button ion-button block (click)="initJPush()">啟動推送</button>
<ion-item>
<ion-label floating>別名 Alias</ion-label>
<ion-input type="text" [(ngModel)]="alias"></ion-input>
</ion-item>
<button ion-button block (click)="setAlias()" [disabled]="alias == ''">設置別名</button>
 
<ion-list>
<ion-item text-wrap *ngFor="let msg of msgList">
<ion-avatar item-left>
<img src="assets/user.jpg">
</ion-avatar>
<h2>通知</h2>
<p>{{msg.content}}</p>
</ion-item>
</ion-list>
</ion-content>

 

src/pages/home/home.ts

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
import { Component } from '@angular/core';
 
import { NavController } from 'ionic-angular';
declare var window;
@Component({
selector: 'page-home',
templateUrl: 'home.html'
})
export class HomePage {
alias: string = '';
msgList: Array<any>=[];
constructor(public navCtrl: NavController) {
 
}
initJPush() {
//啟動極光推送
if (window.plugins &&  window.plugins.jPushPlugin) {
window.plugins.jPushPlugin.init();
document.addEventListener("jpush.receiveNotification", () => {
this.msgList.push({content:window.plugins.jPushPlugin.receiveNotification.alert})
}, false);
}
}
setAlias() {
//設置Alias
if (this.alias && this.alias.trim() != '') {
window.plugins.jPushPlugin.setAlias(this.alias);
} else alert('Alias不能為空')
}
}

 

運行效果

ionic run android

在極光開發者服務發送通知,測試手機端是否可以收到通知。

 

通知測試

 

 

手機截圖

 

總結

使用第三方插件時,在ts文件中聲明即可。如本文使用的極光推送插件,插件被掛載至“window.plugins.jPushPlugin”,所以此處聲明“declare var window;”。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM