色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
电子发烧友
开通电子发烧友VIP会员 尊享10大特权
海量资料免费下载
精品直播免费看
优质内容免费畅学
课程9折专享价
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

MobPush iOS SDK iOS實時活動

MobTech科技派 ? 來源:MobTech科技派 ? 作者:MobTech科技派 ? 2023-08-04 11:33 ? 次閱讀

開發工具:Xcode 功能需要: SwiftUI實現UI頁面,iOS16.1以上系統使用

功能使用: 需應用為啟動狀態

功能說明

iOS16.1 系統支持實時活動功能,可以在鎖定屏幕上實時獲知各種事情的進展,MobPushSDK iOS 4.0.3版本已完成適配,可根據文檔對應使用。

集成步驟

添加依賴庫

ActivityKit.farework
SwiftUI.farework

afbfdd7bbcea26733d803dff7c21d10d.JPG

配置?程?持 LiveActivity

在主?程的 Info.plist ?件中添加?個鍵值對,key 為 NSSupportsLiveActivities,value 為 YES

image.png

添加實時活動擴展

6222eaba0b0a93c4e523fa4a52f9b1b5.JPG

ea12cbf09bb713fb602ef8160fad2f6e.JPG

添加擴展項目依賴庫

11e648e0ce5d0755dff35c3d9208a24c.JPG

UI實現

實時活動UI需開發者自行實現,可參考Demo處理,注意需將擴展的UI組件引用到主項目上

ce274c9739c7e000e4abc3a2b99225b2.JPG

296f9712c9ed9fc8b4d34f61a288db27.JPG

實時活動API

上傳實時活動token registerLiveActivityWithID()

示例代碼:

/*!
 * @abstract 注冊LiveActivity并上報PushToken
 * 在PushToken更新時,需同步調用該接口
 * 在LiveActivity結束時,需同步調用該接口,PushToken為nil
 *
 * @param liveActivityId 標識某一個LiveActivity
 * @param pushToken 對應LiveActivity的PushToken
 * @param handler 結果回調
 */
 [MobPush registerLiveActivityWithID:@"mpLiveActivity"
                                          pushToken:token
                                         completion:^(NSError *error) {
                    if (error) {
                        NSLog(@"Register LiveActivity Failed: %@", error.localizedDescription);
                    }
                }];
            }

活動開始startActivity()

示例代碼:

static public func startActivity(pushTokenUpdate:@escaping (Bool, Data?)- >Void) {
        guard ActivityAuthorizationInfo().areActivitiesEnabled else {
            //不可用
            pushTokenUpdate(false, nil)
            //監聽可用狀態
//            for await enablment in ActivityAuthorizationInfo().activityEnablementUpdates {
//                print("Activity AuthorizationInfo change to (enablment)")
//            }
            return
        }

        endPreActivity()

        let state = HeartNoteLiveActivitsLiveAttributes.ContentState(prograssState: .Car)
        let attri = HeartNoteLiveActivitsLiveAttributes(name: "MPLiveActivities")
        do {
            let current = try Activity.request(attributes: attri, contentState: state, pushType: .token)
            Task {
                for await tokenData in current.pushTokenUpdates {
                    //監聽token更新 注意線程
                    pushTokenUpdate(true, tokenData)
                }
            }
            Task {
                for await state in current.contentStateUpdates {
                    //監聽state狀態 開發者可自行編寫回調監聽
                    print("1content state update: tip=(state.prograssState)")
                }
            }
            Task {
                //監聽activity狀態 開發者可自行編寫回調監聽
                for await state in current.activityStateUpdates {
                    print("activity state update: tip=(state) id:(current.id)")
                }
            }
        } catch(let error) {
            print("error=",error)
            pushTokenUpdate(false, nil)
        }
    }

更新Activity狀態updateActivityState()

static public func updateActivityState(_ value: Int) {
        Task {
            guard let current = Activity< HeartNoteLiveActivitsLiveAttributes >.activities.first else {
                return
            }

            let state = HeartNoteLiveActivitsLiveAttributes.ContentState(prograssState: PrograssState(rawValue: value) ?? .Arrived)
            let alertConfiguration = AlertConfiguration(title: "Delivery Update ", body: "Delivery Update State to (state.prograssState.rawValue)", sound: .default)
            await current.update(using: state, alertConfiguration: alertConfiguration)
        }
    }

關閉Activity狀態endPreActivity()

//建議關閉應用的時候要關閉 不然下次啟動就脫離控制了
    static public func endPreActivity() {
        let activities = Activity< HeartNoteLiveActivitsLiveAttributes >.activities.filter { act in
            return act.activityState == .active
        }
        guard activities.count  > 0 else { return }
        for item in activities {
            Task {
//                print("end activity (item.id)")
                await item.end(dismissalPolicy:.immediate)
            }
        }
    }

審核編輯 黃宇

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • iOS
    iOS
    +關注

    關注

    8

    文章

    3399

    瀏覽量

    152671
  • SDK
    SDK
    +關注

    關注

    3

    文章

    1068

    瀏覽量

    47872
收藏 0人收藏

    評論

    相關推薦
    熱點推薦

    跨Android、iOS、鴻蒙多平臺框架ArkUI-X

    在Android、iOS、鴻蒙多個平臺上提供生動而流暢的用戶界面體驗。 一、配套關系 表1 版本軟件和平臺配套關系 目標平臺 項目編譯使用OS SDK版本 備注 OpenHarmony 4.0 (API
    的頭像 發表于 01-31 14:52 ?2127次閱讀
    跨Android、<b class='flag-5'>iOS</b>、鴻蒙多平臺框架ArkUI-X

    EspTouch for IOS V3.0為什么配置不了ESP8266?

    ESP8266固件版本: SDK version:1.0.1 IOT VERSION = v1.0.2t45772(a) TYPE: ESPTOUCH V1.4 espTouch for IOS
    發表于 07-15 08:16

    請問TapLinx IOS SDK與Xcode 16不兼容嗎?

    ]/taplinxlibrary/taplinxlibrary.swiftmodule/arm64-apple-ios.swiftmodule 清理 Build / 刪除 DerivedData 目錄,然后
    發表于 04-02 06:19

    #硬聲創作季 09_IOS應用(IOS環境搭建)

    iOS移動開發
    Mr_haohao
    發布于 :2022年09月03日 15:49:42

    iOS版谷歌地圖正式上架 定位準可語音導航

    。Thenextweb 表示:“ iOS 版谷歌地圖應用能允許用戶使用語音同步駕車導航,獲得全球范圍內的實時交通信息。目前這款應用正在極力上線其它國家的App Store ,因此美國或部分地區以外的用戶或許仍需耐心等待(目前中國地區已可下載)。”
    發表于 12-15 10:36

    iOS7變化不大 iOS8將很有趣

    據《商業內幕》網站分析認為。雖然主導蘋果iPhone開發的斯科特?福斯代爾(Scott Forstall)去年11月離職。但基于已經規劃好的開發計劃和時間線,蘋果下一代操作系統iOS 7不會有
    發表于 03-18 14:11

    ios人才

    獵頭推薦職位:世界某知名企業:IOS應用軟件開發工程師,地點:深圳南山,要求:有2年以上的IOS應用軟件開發經驗及本科以上學歷背景,請有興趣者立即聯系本人Eva,QQ:2724316257私聊!
    發表于 11-04 11:52

    BLE_RTC limited to IOS?

    比較了iOS和Android,PoS4xBulyRTC的例子顯示了不同的結果。 幾乎在iOS中運行。它們的功能運行良好,但在Android中,UART中的字符串導致字符破損。和 在連接過程中。幾乎
    發表于 10-10 08:17

    iOS網頁設計的關鍵考慮因素是什么?

    iOS 設計時最重要的細節是確保網站響應迅速并針對移動設備進行優化,注意用戶界面和導航,結合 iOS 特定功能,并在不同的 iOS 設備和版本之間進行全面測試。
    發表于 05-25 07:24

    九年時間:蘋果iOS SDK雙贏歷程

    九年前,蘋果發布了iOS SDK,也就是我們經常說的開發工具包,iOS SDK的發布讓第三方開發者可以構建iPhone與iPod touch的原生應用程序,在iTunes App St
    發表于 03-08 14:26 ?1038次閱讀

    蘋果發布通知稱,任何提交的 app 更新必須兼容 iOS 11 SDK

    蘋果今天通知廣大 iOS 開發者,將從今年 7 月份開始,任何提交的 app 更新必須兼容 iOS 11 SDK,而且也必須支持 iPhone X 的 Super Retina 屏幕。
    的頭像 發表于 06-12 14:46 ?3696次閱讀
    蘋果發布通知稱,任何提交的 app 更新必須兼容 <b class='flag-5'>iOS</b> 11 <b class='flag-5'>SDK</b>

    Respoke SDK for iOS Respoke的iOS SDKs

    ./oschina_soft/respoke-sdk-ios.zip
    發表于 06-28 11:14 ?0次下載
    Respoke <b class='flag-5'>SDK</b> for <b class='flag-5'>iOS</b> Respoke的<b class='flag-5'>iOS</b> SDKs

    MobPush iOSSDK API推送配置方法

    MobPush是MobTech推出的一款免費的推送服務工具,集成方便簡單快捷,且提供完整的可視化數據和強大的管理后臺。本文將詳細介紹ios端推送配置方法。
    的頭像 發表于 08-16 12:17 ?1271次閱讀
    <b class='flag-5'>MobPush</b> <b class='flag-5'>iOS</b>端<b class='flag-5'>SDK</b> API推送配置方法

    蘋果發布iPhone14靈動島的“實時活動”設計指南

      蘋果的iOS 16.1目前正在測試中,其中包括對實時活動API的支持。該API允許開發人員向鎖屏或智能島添加實時通知。隨著iOS 16.
    的頭像 發表于 09-27 10:55 ?4505次閱讀

    MobPush:Android SDK 集成指南

    MobPush是一款旨在提供一站式解決方案的智能推送開發者工具,可以有效提高用戶參與度和粘性,從而帶來更多的業務效益,以下是最新版MobPush: Android SDK集成指南。
    的頭像 發表于 02-02 15:51 ?922次閱讀
    <b class='flag-5'>MobPush</b>:Android <b class='flag-5'>SDK</b> 集成指南
    主站蜘蛛池模板: 国产在线AV一区二区香蕉 | 无颜之月5集全免费看无删除 | 蜜芽在线播放免费人成日韩视频 | 中字幕视频在线永久在线 | 伊人伊人伊人 | 含羞草影院AE在线观看 | 十九岁在线观看免费完整版电影 | 激情内射亚洲一区二区三区 | 97视频视频人人碰视频 | 91久久偷偷看嫩草影院无费 | 午夜福到在线4国产 | 尤蜜网站在线进入免费 | 99久久99久久精品国产片果冻 | 色婷婷综合久久久中文字幕 | 囯产精品久久久久久久久蜜桃 | 伊人成色综合人网 | 日本一本在线播放 | 久久www99re在线播放 | 亚洲AV蜜桃永久无码精品无码网 | 性西欧俄罗斯极品 | 97色伦久久视频在观看 | 亚洲精品天堂自在久久77 | 18禁无遮遮挡羞漫画免费阅读 | 国产欧美日韩综合精品一区二区 | 日本阿v片在线播放免费 | 嗯呐啊唔高H兽交 | 亚洲国产高清在线观看视频 | 色妞色视频一区二区三区四区 | 国产精品青青草原app大全 | 九九久久精品国产 | 一级做a爰片久久免费 | 中文字幕在线免费观看视频 | 尿了么app| 精品少妇爆AV无码专区 | 久久中文字幕免费视频 | a视频在线观看免费 | 99热成人精品国产免男男 | 蜜桃传媒在线观看 | 乳女教师欲乱动漫无修版动画 | 久99视频精品免费观看福利 | 男人J桶女人P视频无遮挡网站 |

    電子發燒友

    中國電子工程師最喜歡的網站

    • 2931785位工程師會員交流學習
    • 獲取您個性化的科技前沿技術信息
    • 參加活動獲取豐厚的禮品