【React Native】文件翻譯閱讀紀錄 - APIs - PushNotificationIOS

by - 上午9:00

Facebook Open Source React Native


PushNotificationIOS


  • 將以下內容添加到項目中:node_modules / react-native / Libraries / PushNotificationIOS / RCTPushNotification.xcodeproj
  • 將以下內容添加到Link Binary With Libraries:libRCTPushNotification.a
最後,要啟用對通知和註冊事件的支持,您需要擴充 AppDelegate。

在 AppDelegate.m 的頂部:
#import <React/RCTPushNotificationManager.h>
然後在AppDelegate實現中添加以下內容:
 // Required to register for notifications
 - (void)application:(UIApplication *)application didRegisterUserNotificationSettings:(UIUserNotificationSettings *)notificationSettings
 {
  [RCTPushNotificationManager didRegisterUserNotificationSettings:notificationSettings];
 }
 // Required for the register event.
 - (void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken
 {
  [RCTPushNotificationManager didRegisterForRemoteNotificationsWithDeviceToken:deviceToken];
 }
 // Required for the notification event. You must call the completion handler after handling the remote notification.
 - (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo
                                                        fetchCompletionHandler:(void (^)(UIBackgroundFetchResult))completionHandler
 {
   [RCTPushNotificationManager didReceiveRemoteNotification:userInfo fetchCompletionHandler:completionHandler];
 }
 // Required for the registrationError event.
 - (void)application:(UIApplication *)application didFailToRegisterForRemoteNotificationsWithError:(NSError *)error
 {
  [RCTPushNotificationManager didFailToRegisterForRemoteNotificationsWithError:error];
 }
 // Required for the localNotification event.
 - (void)application:(UIApplication *)application didReceiveLocalNotification:(UILocalNotification *)notification
 {
  [RCTPushNotificationManager didReceiveLocalNotification:notification];
 }

Methods


參考

Methods

presentLocalNotification()

PushNotificationIOS.presentLocalNotification(details);
安排localNotification立即演示。
參數:
NAMETYPEREQUIREDDESCRIPTION
detailsobjectYes見下文。
details是一個對象,包含:
  • alertBody:通知警報中顯示的消息。
  • alertAction:可操作通知下方顯示的“操作”。默認為“查看”;
  • soundName:觸發通知時播放的聲音(可選)。
  • isSilent:如果為true,則通知將顯示為沒有聲音(可選)。
  • category:可通知操作所需的此通知的類別(可選)。
  • userInfo:包含其他通知數據的可選對象。
  • applicationIconBadgeNumber(可選):要顯示為應用程序圖標徽章的數字。此屬性的默認值為0,表示不顯示徽章。

scheduleLocalNotification()

PushNotificationIOS.scheduleLocalNotification(details);
安排localNotification以備將來演示。
參數:
NAMETYPEREQUIREDDESCRIPTION
detailsobjectYes見下文。
details 是一個對象,包含:
  • fireDate:系統應發送通知的日期和時間。
  • alertTitle:顯示為通知警報標題的文本。
  • alertBody:通知警報中顯示的消息。
  • alertAction:可操作通知下方顯示的“操作”。默認為“查看”;
  • soundName:觸發通知時播放的聲音(可選)。
  • isSilent:如果為true,則通知將顯示為沒有聲音(可選)。
  • category:可通知操作所需的此通知的類別(可選)。
  • userInfo:包含其他通知數據的可選對象。
  • applicationIconBadgeNumber(可選):要顯示為應用程序圖標徽章的數字。將數字設置為0將刪除圖標徽章。
  • repeatInterval : 作為字符串重複的間隔。可能的值 : minutehourdayweekmonthyear.

cancelAllLocalNotifications()

PushNotificationIOS.cancelAllLocalNotifications();
取消所有計劃的 localNotifications

removeAllDeliveredNotifications()

PushNotificationIOS.removeAllDeliveredNotifications();
從通知中心刪除所有已發送的通知

getDeliveredNotifications()

PushNotificationIOS.getDeliveredNotifications(callback);
為您提供仍在通知中心中顯示的應用程序通知的列表
參數:
NAMETYPEREQUIREDDESCRIPTION
callbackfunctionYes接收一系列已發送通知的函數。
傳遞的通知是包含以下內容的對象:
  • identifier:此通知的標識符。
  • title:此通知的標題。
  • body:此通知的正文。
  • category:此通知的類別,如果有一個。
  • userInfo:包含其他通知數據的可選對象。
  • thread-id:此通知的線程標識符,如果有的話。

removeDeliveredNotifications()

PushNotificationIOS.removeDeliveredNotifications(identifiers);
從通知中心刪除指定的通知
參數:
NAMETYPEREQUIREDDESCRIPTION
identifiersarrayYes通知標識符的數組。

setApplicationIconBadgeNumber()

PushNotificationIOS.setApplicationIconBadgeNumber(number);
在主屏幕上設置應用程序圖標的徽章編號
參數:
NAMETYPEREQUIREDDESCRIPTION
numbernumberYes應用程序圖標的徽章編號。

getApplicationIconBadgeNumber()

PushNotificationIOS.getApplicationIconBadgeNumber(callback);
獲取主屏幕上應用程序圖標的當前徽章編號
參數:
NAMETYPEREQUIREDDESCRIPTION
callbackfunctionYes將傳遞當前徽章編號的函數。

cancelLocalNotifications()

PushNotificationIOS.cancelLocalNotifications(userInfo);
取消本地通知。

(可選)將取消的通知集限制為userInfo字段與userInfo參數中的相應字段匹配的通知。
參數:
NAMETYPEREQUIREDDESCRIPTION
userInfoobjectNo

getScheduledLocalNotifications()

PushNotificationIOS.getScheduledLocalNotifications(callback);
獲取當前計劃的本地通知。
Para參數
NAMETYPEREQUIREDDESCRIPTION
callbackfunctionYes它將傳遞描述本地通知的對像數組。

addEventListener()

PushNotificationIOS.addEventListener(type, handler);
當應用程序在前台或後台運行時,將偵聽器附加到遠程或本地通知事件。
參數:
NAMETYPEREQUIREDDESCRIPTION
typestringYes事件類型。
handlerfunctionYes監聽器。
有效事件包括:
  • notification : 收到遠程通知時觸發。將使用 PushNotificationIOS 實例調用該處理程序。
  • localNotification : 收到本地通知時觸發。將使用PushNotificationIOS實例調用該處理程序。
  • register: 當用戶註冊遠程通知時觸發。將使用表示deviceToken的十六進製字符串調用該處理程序。
  • registrationError: 當用戶無法註冊遠程通知時觸發。通常在APNS出現問題或設備是模擬器時發生。將使用{message:string,code:number,details:any}調用該處理程序。

removeEventListener()

PushNotificationIOS.removeEventListener(type, handler);
刪除事件偵聽器。在componentWillUnmount中執行此操作以防止內存洩漏
參數:
NAMETYPEREQUIREDDESCRIPTION
typestringYes事件類型。
handlerfunctionYes監聽器。

requestPermissions()

PushNotificationIOS.requestPermissions([permissions]);
從iOS請求通知權限,提示用戶的對話框。默認情況下,它將請求所有通知權限,但可以通過傳遞所請求權限的映射來請求這些權限的子集。支持以下權限:
  • alert
  • badge
  • sound
如果為方法提供了地圖,則只會請求具有真值的權限。

此方法返回一個承諾,該承諾將在用戶接受,拒絕或先前拒絕權限時解析。承諾解析為當前的許可狀態。
參數:
NAMETYPEREQUIREDDESCRIPTION
permissionsarrayNoalert, badge, or sound

abandonPermissions()

PushNotificationIOS.abandonPermissions();
取消註冊通過Apple推送通知服務收到的所有遠程通知。

您應該僅在極少數情況下調用此方法,例如,當新版本的應用程序刪除對所有類型的遠程通知的支持時。用戶可以通過“設置”應用的“通知”部分暫時阻止應用接收遠程通知。通過此方法取消註冊的應用程序始終可以重新註冊。

checkPermissions()

PushNotificationIOS.checkPermissions(callback);
查看當前啟用的推送權限。
Parameters:
NAMETYPEREQUIREDDESCRIPTION
callbackfunctionYesSee below.
將使用權限對象調用回調:
  • alert :boolean
  • badge :boolean
  • sound :boolean

getInitialNotification()

PushNotificationIOS.getInitialNotification();
此方法返回一個promise。如果應用程序是通過推送通知啟動的,則此承諾將解析為PushNotificationIOS類型的對象。否則,它會解析為null。

constructor()

constructor(nativeNotif);
您永遠不需要自己實例化PushNotificationIOS。收聽通知事件並調用getInitialNotification就足夠了。

finish()

finish(fetchResult);
調用此命令以在遠程通知處理完成時執行。調用此塊時,傳入最能描述操作結果的獲取結果值。您必須調用此處理程序,並應盡快執行此操作。有關可能值的列表,請參見PushNotificationIOS.FetchResult。

如果您不調用此方法,則可能會限制後台遠程通知,有關它的更多信息,請參閱上面的文檔鏈接。

getMessage()

getMessage();
getAlert的別名,用於獲取通知的主消息字符串

getSound()

getSound();
從aps對象獲取聲音字符串

getCategory()

getCategory();
從aps對象獲取類別字符串

getAlert()

getAlert();
從aps對象獲取通知的主要消息

getContentAvailable()

getContentAvailable();
從aps對象獲取內容可用的數字

getBadgeCount()

getBadgeCount();
從aps對象獲取徽章計數

getData()

getData();
獲取notif上的數據對象




You May Also Like

0 意見