欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

怎么在iOS中配置實時遠(yuǎn)程紀(jì)錄

怎么在iOS中配置實時遠(yuǎn)程紀(jì)錄?針對這個問題,這篇文章詳細(xì)介紹了相對應(yīng)的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。

成都創(chuàng)新互聯(lián)公司專注于單縣企業(yè)網(wǎng)站建設(shè),成都響應(yīng)式網(wǎng)站建設(shè)公司,商城網(wǎng)站建設(shè)。單縣網(wǎng)站建設(shè)公司,為單縣等地區(qū)提供建站服務(wù)。全流程按需網(wǎng)站策劃,專業(yè)設(shè)計,全程項目跟蹤,成都創(chuàng)新互聯(lián)公司專業(yè)和態(tài)度為您提供的服務(wù)

怎么在iOS中配置實時遠(yuǎn)程紀(jì)錄

在AppDelegate中觸發(fā)回調(diào)時,不會向用戶顯示靜默推送通知。通過將選項content_available設(shè)置為true,您甚至可以在推送通知到達(dá)時讓iOS在后臺啟動您的應(yīng)用程序(或恢復(fù)它)。一個問題:如果用戶手動殺死它,iOS將無法在后臺啟動您的應(yīng)用程序。這將持續(xù)到下次重新啟動(第一次解鎖后)。除此之外,你沒有其他問題了。

實現(xiàn)

這個過程歸結(jié)為:

  • 將應(yīng)用程序訂閱到Firebase Cloud Messaging主題

  • 創(chuàng)建在遠(yuǎn)程配置更改時觸發(fā)的云功能

  • 處理AppDelegate中的靜音推送通知

  • 在下次啟動時使遠(yuǎn)程配置緩存無效

如何設(shè)置Firebase云消息傳遞超出了本文的范圍,但文檔是一個很好的起點。

1.訂閱到主題

推送通知啟動并運行后,我們需要將應(yīng)用訂閱到主題。我們將專門用于遠(yuǎn)程配置。

Messaging.messaging().subscribe(toTopic: "REMOTE_CONFIG") { error in
 if let error = error {
  debugPrint("Could not subscribe to Remote Config topic", error)
 }
}

2.創(chuàng)建一個云服務(wù)

Cloud Function只是一個Node.js腳本,因此您需要在您的計算機上使用Node.js.在撰寫本文時,Cloud Functions支持Node v6或Node v8,其中v6是默認(rèn)值。

獲得Node.js后,首先安裝Firebase CLI。

npm install -g firebase-tools

然后使用CLI工具進(jìn)行身份驗證。

firebase login

現(xiàn)在為函數(shù)創(chuàng)建一個文件夾,cd進(jìn)入它并初始化Firebase項目。

firebase init functions

這將啟動CLI向?qū)?。完成它,你就?zhǔn)備好了。

怎么在iOS中配置實時遠(yuǎn)程紀(jì)錄

是時候添加將向REMOTE_CONFIG通道發(fā)送靜默推送通知的云功能。在新創(chuàng)建的項目的函數(shù)目錄中,您將找到index.js。打開它并用以下內(nèi)容替換內(nèi)容:

const functions = require('firebase-functions');
const admin = require('firebase-admin');

admin.initializeApp(functions.config().firebase);

exports.pushConfig = functions.remoteConfig.onUpdate(versionMetadata => {
 // Create FCM payload to send data message to REMOTE_CONFIG topic.
 const payload = {
  data: {
   CONFIG_STATE: 'STALE'
  }
 };

 const options = {
  content_available: true
 };

 // Use the Admin SDK to send the ping via FCM.
 return admin
  .messaging()
  .sendToTopic('REMOTE_CONFIG', payload, options)
  .then(response => {
   console.log(response);
  
   return null;
  });
});

我們使用通知來傳遞帶有密鑰CONFIG_STATE的有效負(fù)載。這將向您的應(yīng)用發(fā)出遠(yuǎn)程配置數(shù)據(jù)已更改的信號。如有必要,選項content_available是必要的,以使iOS恢復(fù)應(yīng)用程序或在后臺啟動它。

現(xiàn)在該功能已經(jīng)到位,我們可以將其部署到Firebase,以便它可以運行。

firebase deploy --only functions

這將部署到firebase init函數(shù)中選擇的Firebase項目。要部署到另一個項目,首先使用firebase使用--add添加它。添加后,您可以使用my-project-alias切換運行firebase的項目。

3.處理遠(yuǎn)程推送

我們需要在AppDelegate中實現(xiàn)方法:didReceiveRemoteNotification:fetchCompletionHandler:來處理傳入的推送通知。如果userInfo字典有密鑰CONFIG_STATE(我們添加到通知有效負(fù)載的那個),那么它就是我們正在尋找的通知。

func application(_ application: UIApplication, didReceiveRemoteNotification userInfo: [AnyHashable: Any], fetchCompletionHandler completionHandler: @escaping (_: UIBackgroundFetchResult) -> Void) {
 if userInfo["CONFIG_STATE"] != nil {
  UserDefaults.standard.set(true, forKey: "CONFIG_STATE")
  UserDefaults.standard.synchronize()
 }

 completionHandler(UIBackgroundFetchResult.newData)
}

這里很容易調(diào)用fetchWithExpirationDuration:completionHandler:具有非常少的到期時間,以便在那時檢索更新的值。但這樣做會使所有通知的應(yīng)用實例在大致相同的時間請求新值。這很可能會使應(yīng)用受到限制,因此我們會將其推遲到下一次發(fā)布。

4. 使遠(yuǎn)程配置緩存無效

我們只需要將標(biāo)志保存到UserDefaults并在獲取Remote Config值之前進(jìn)行檢查。

var expirationDuration: TimeInterval = 43200 // 12hs of cache by default

if UserDefaults.standard.bool(forKey: "CONFIG_STATE") {
 UserDefaults.standard.set(false, forKey: "CONFIG_STATE")
 UserDefaults.standard.synchronize()
   
 expirationDuration = 0
}

RemoteConfig.fetch(withExpirationDuration: expirationDuration) { [weak self] status, error in
 RemoteConfig.remoteConfig().activateFetched()
}

如果配置已過時,我們將通過將到期持續(xù)時間設(shè)置為0來繞過緩存。這將強制執(zhí)行一次完全重新加載,而不必等待緩存過期。

這就是所有的設(shè)置?,F(xiàn)在轉(zhuǎn)到“遠(yuǎn)程配置”面板并發(fā)布更改。然后查看“功能”選項卡。它應(yīng)該如下所示:

怎么在iOS中配置實時遠(yuǎn)程紀(jì)錄

日志應(yīng)該注冊成功執(zhí)行:

怎么在iOS中配置實時遠(yuǎn)程紀(jì)錄

學(xué)習(xí)價值,如果有疑問大家可以留言交流,謝謝大家對創(chuàng)新互聯(lián)的支持。

關(guān)于怎么在iOS中配置實時遠(yuǎn)程紀(jì)錄問題的解答就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道了解更多相關(guān)知識。

文章名稱:怎么在iOS中配置實時遠(yuǎn)程紀(jì)錄
標(biāo)題來源:http://chinadenli.net/article22/gpcccc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供手機網(wǎng)站建設(shè)、移動網(wǎng)站建設(shè)、App設(shè)計、定制開發(fā)、企業(yè)網(wǎng)站制作、微信公眾號

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都app開發(fā)公司
91欧美亚洲精品在线观看| 国产av精品一区二区| 国产一二三区不卡视频| 亚洲妇女黄色三级视频| 日韩成人高清免费在线| 中文字字幕在线中文乱码二区| 91人妻人人做人碰人人九色| 白白操白白在线免费观看| 91免费一区二区三区| 欧美日韩免费观看视频| 日韩中文字幕狠狠人妻| 亚洲精品一二三区不卡| 亚洲高清一区二区高清| 中国美女偷拍福利视频| 亚洲精品日韩欧美精品| 国产欧美日韩视频91| 国产午夜精品在线免费看| 大香伊蕉欧美一区二区三区| 亚洲人午夜精品射精日韩| 成年人免费看国产视频| 久热人妻中文字幕一区二区| 日韩一本不卡在线观看| 精品一区二区三区中文字幕| 午夜福利国产精品不卡| 成人国产激情在线视频| 欧美一级片日韩一级片| 久久精品色妇熟妇丰满人妻91 | 深夜少妇一区二区三区| 国产精品不卡免费视频| 日韩精品你懂的在线观看| 日本高清不卡一二三区| 99少妇偷拍视频在线| 东京热加勒比一区二区三区| 日韩特级黄色大片在线观看| 国产日产欧美精品大秀| 精品推荐久久久国产av| 国产熟女一区二区不卡| 欧美日韩国产一级91| 亚洲色图欧美另类人妻| 日韩精品视频一二三区| 国产精品久久熟女吞精|