1. 程式人生 > >iWatch開發:WatchOS 訊息推送教程

iWatch開發:WatchOS 訊息推送教程

這裡寫圖片描述

簡介

在watch 中,通知是和iPhone 同步的,在iPhone上的APP收到通知的同事,也會預設推送到iWatch 上,基於watch 的穿戴性,對使用者來說,它上面的通知資訊將比iPhone更及時。

iWatch 上的通知分為兩部分:short-look 與 long-look

short-look

short-look的預覽介面比較簡單,它會將通知發起的APP和主要標題等資訊展示給大家,讓你一目瞭然,當用戶擡起手,檢視這個通知的時候,這個短通知就會轉換為long-look通知。短通知的通知介面我們不能夠自定義,系統統一為他設計了樣式。

這裡寫圖片描述

long-look

長通知的介面我們是可以進行一定程度上的定義的,並且可以新增按鈕等邏輯操作。

在long-look中,介面定義分為三個部分,頭標題欄,自定義檢視欄和按鈕交換區。頭部的標題欄我們不能自定義,它是一個半透明的上面有APP圖示和名字的橫欄。其最下面是我們可以自定義的區域,我們可以再storyboard中拉入文字和圖片。

這裡寫圖片描述

接下來,更加詳細的看下Xcode中通知介面的storyboard, 如圖:

這裡寫圖片描述

自定義的long-look通知由兩個單獨的介面組成:

靜態介面

靜態UI是必需的,並且是顯示通知內容和影象的最簡單的方法。動態介面是可選的,可讓您自定義通知內容的顯示方式。

使用靜態通知介面去定義一個簡單版本的自定義通知,其目的在於它可以為你的WatchKit extension無法及時配置動態介面時提供一個臨時的介面。若你將storyboard 右上角中 “Has Dynamic Interface” 勾選去掉,則通知顯示的即為靜態通知介面。下圖是我隨意配置的靜態與動態介面:

這裡寫圖片描述

選中scheme中的紅色背景的物件,然後執行,出現靜態通知介面:

這裡寫圖片描述

動態介面

動態通知介面可讓您為使用者提供更豐富的通知體驗。使用動態介面,您不僅可以顯示訊息,還可以合併附加資訊,配置多個標籤,顯示動態生成的內容等。勾選“Has Dynamic Interface”後,再次執行即出現動態通知介面:

這裡寫圖片描述

要實現動態通知介面,必須建立WKUserNotificationInterfaceController的子類。通過 didReceiveNotification:withCompletion: 這個函式來傳遞推送的資料物件。

推送演示案例

這邊我將用iOS 10 本地推送訊息的方式來演示下,iPhone 和 iWatch 推送功能。

iPhone 相關部分

在 AppDelegate 中加入如下程式碼:

#import <UIKit/UIKit.h>
#import <UserNotifications/UserNotifications.h>

@interface AppDelegate : UIResponder <UIApplicationDelegate,UNUserNotificationCenterDelegate>

@property (strong, nonatomic) UIWindow *window;


@end
-(void)registerNotification:(NSInteger )alerTime{
    // 使用 UNUserNotificationCenter 來管理通知
    UNUserNotificationCenter* center = [UNUserNotificationCenter currentNotificationCenter];

    UNMutableNotificationContent* content = [[UNMutableNotificationContent alloc] init];
    content.title = [NSString localizedUserNotificationStringForKey:@"Hello!" arguments:nil];
    content.body = [NSString localizedUserNotificationStringForKey:@"Hello_message_body"
                                                         arguments:nil];
    content.sound = [UNNotificationSound defaultSound];

    // 在 alertTime 後推送本地推送
    UNTimeIntervalNotificationTrigger* trigger = [UNTimeIntervalNotificationTrigger
                                                  triggerWithTimeInterval:alerTime repeats:YES];

    UNNotificationRequest* request = [UNNotificationRequest requestWithIdentifier:@"FiveSecond"
                                                                          content:content trigger:trigger];

    //新增推送成功後的處理!
    [center addNotificationRequest:request withCompletionHandler:^(NSError * _Nullable error) {
        NSLog(@"本地通知, 成功新增推送");
    }];
}

#pragma mark - UNUserNotificationCenterDelegate
//在展示通知前進行處理,即有機會在展示通知前再修改通知內容。
-(void)userNotificationCenter:(UNUserNotificationCenter *)center willPresentNotification:(UNNotification *)notification
        withCompletionHandler:(void (^)(UNNotificationPresentationOptions))completionHandler{
    //1. 處理通知

    //2. 處理完成後呼叫 completionHandler ,用於指示在前臺顯示通知的形式
    completionHandler(UNNotificationPresentationOptionAlert);
}

其中設定為每一分鐘,推送一個本地訊息。

執行我們的工程,在一分鐘之後,我們的iWatch 上就會收到推送訊息了,如圖:

這裡寫圖片描述

要準確的能讓iWatch收到推送訊息,需要注意以下幾點:

1.將所配對的手錶取消手腕檢測功能
2.確保你的iWatch 不在充電
3.確保你的iPhone 在鎖屏狀態

好了。祝大家生活愉快。多多收穫友誼和愛情。如果想獲取更多的訊息,請掃描下方二維碼關注我的微信公眾號:

這裡寫圖片描述

相關推薦

iWatch開發WatchOS 訊息教程

簡介 在watch 中,通知是和iPhone 同步的,在iPhone上的APP收到通知的同事,也會預設推送到iWatch 上,基於watch 的穿戴性,對使用者來說,它上面的通知資訊將比iPhone更及時。 iWatch 上的通知分為兩部分:sh

iOS 開發-app的訊息

好久沒有寫過部落格啦,今天就由本菜鳥給大家做一個簡單的IOSApp訊息推送教程吧!一切從0開始,包括XCode6, IOS8, 以及蘋果開發者中心最新如何註冊應用,申請證書以及下載配置概要檔案,相信很多剛開始接觸ios的人會很想了解一下。(ps:網上看了一下雖然有很多講述

dcloud開發混合app-訊息push

一、這裡使用個推,先註冊個推賬號,申請一個應用。 二、在manifest.json中新增sdk配置和模組許可權配置 三、新增推送訊息事件監聽器 先看一下官方文件: void plus.push.addEventListener( event,

Java開發公眾號系列教程(四)公眾號訊息|事件訊息|模板訊息應用

今天分享一下公眾號推送模板訊息的開發案例。應用場景:使用者在公眾號上進行了一些操作後,公眾號自動向使用者推送相關的模板訊息,常見的比如使用者在公眾號付款後會收到商家的付款訊息提醒。接下來通過筆者在測試賬戶上的開發案例,效果如下:         &nb

Kindle 教程教你用電子郵箱送電子書

電子郵件 mail rec 實用 alt nal tom odi 批量 Kindle 推送是什麽意思?如何通過電子郵件附件推送?或許剛剛接觸 Kindle 的朋友對這個概念不是很清楚,其實所謂 Kindle 推送是指亞馬遜提供的一個“Kindle 個人文檔服務”,我們只需要

技術乾貨從零開始,教你設計一個百萬級的訊息系統

1、點評 本文主要分享的是如何從零設計開發一箇中大型推送系統,因限於篇幅,文中有些鍵技術只能一筆帶過,建議有這方面興趣的讀者可以深入研究相關知識點,從而形成橫向知識體系。 本文適合有一定開發、架構經驗的後端程式設計師閱讀,文內個別技術點可能並非最佳實踐,但至少都是生動的實踐分享,至少能起到拋磚引玉的作用

Android開發-在Android應用裡整合友盟訊息SDK的實現(相容小米、華為、魅族機型離線

前 言 最近由於專案的功能需求的需要,需要在Android應用整合訊息推送的功能,而目前市面上的第三方訊息推送除了友盟推送外,還有極光推送、小米推送、個推以及信鴿(騰訊)推送等。當時本人對比各大第三方的訊息推送進行了測試,覺得友盟訊息推送整合簡單,推送訊息的

基於UMeng訊息測試-demo教程(iOS版)

基於UMeng訊息推送測試-demo教程(iOS版) 眼看著就要過年了(2017本命年終於快過去了臨來嶄新的2018大發年),每個人的心裡就像飛了一樣,這個時候能夠在辦公間待下來的,每個人都是精英,突然想起了那首張含韻的歌《放假了》。 今天是2017年臘月25距離2018年僅有5天,依舊在外

微信公眾號開發訊息以及圖文

今天給大家分享的關注公眾號自動推送圖文訊息,以及做一個超牛逼的機器人。 先看看效果。 發錯圖了。。。這是我昨天開發的一款機器人chu了會罵人啥都不會了。 我今天將它詞庫進行了更新和升級,接入了http://www.itpk.cn/ 機器人第三詞庫 先給你截圖

後端開發日記九-客戶線上修訂加新聞訊息

之前的客戶線上,這裡進行了修訂: 1.就是加了一個定時任務,在資料和圖片上傳失敗的時候,把圖片的ID寫入資料庫,還有資料,再增加兩個欄位判斷圖片和資料是否重新推送。 2.增加了本地快取token,進行資料的拿取。和資料的推送。根據token的有效期進行判斷,在前幾分鐘再進

產品經理基本功訊息設計

拉新、促活最有效的方式,在目前除了有效的活動運營外,訊息反饋機制也是必不可少的。以訊息推送為例,藉助第三方的推送工具,可以有效的提升產品的打卡率與使用者活躍度。 但第三方工具只能在產品外部幫助提醒使用者,系統內的提醒邏輯與文案還是需要產品經理落地。一個網際網路產品經理的基本功,訊息推送設計就成了必選之一。

Bmob 開發 Android程式快速入門 10 訊息

                             Bmob 開發 Android程式快速入門 10 訊息推送    

C# BS訊息 SignalR Hubs環境搭建與開發(二)

原文: C# BS訊息推送 SignalR Hubs環境搭建與開發(二) 1. 前言 本文是根據網上前人的總結得出的。 環境: SignalR2.x,VS2015,Win10   2. 開始開發 1)新建一個MVC專案,叫做SignalRDemo 2)安裝SignalR包

android開發 -- Notification 狀態列 訊息

這裡推薦下另一片文章:    Android 通知欄Notification的整合 全面學習 (一個DEMO讓你完全瞭解它) http://blog.csdn.net/vipzjyno1/article/details/25248021/ Notification

tp5微信開發(四) ---- 微信模板訊息

這篇文章是建立在使用者已經授權登陸並已將使用者openid存入session的基礎上,前端表單非同步提交併實現模板訊息推送,具體效果: 慣性總結下流程: 1,獲取使用者openid【接收方】 2,在微信公眾平臺申請模板訊息傳送許可權,選擇合適行業,點選提交,一般稽核

開發訊息服務,基於Netty protobuf--fpush(含github原始碼)

開發訊息推送服務,基於Netty protobuf--fpush-含github原始碼 技術棧 程式碼簡介 系統架構 1.系統部署架構圖如下: 2. 移動客戶端鑑定許可權原理 3. server端推送

解決IOS極光使用testfligt進行內部測試收不到通知,開發能收到

1、後臺推送程式碼,需要設定為正式環境,預設開發,所以會導致testfligt收不到通知java後臺程式碼下載:https://download.csdn.net/download/myfmyfmyfm

IOS8開發之實現App訊息

第一部分 首先第一步當然是介紹一下蘋果的推送機制(APNS)咯(ps:其實每一篇教程都有),先來看一張蘋果官方對其推送做出解釋的概要圖。 Provider是給你手機應用發出推送訊息的伺服器,而APNS(Apple Push Notification Service)則是蘋果訊息推送伺服器。你本地的

微信公眾號開發===訊息_NotifyPushFlower程式碼(2)

package com.igoxin.template; import java.text.SimpleDateFormat; import java.util.Date; import java.util.Map; import javax.servlet.http.

Android整合“小米訊息”詳細教程

訊息推送這個玩意,大部分APP都有的,你像QQ、淘寶、微博、支付寶、網易新聞等,他們的訊息推送簡直傷心病狂。 常見的第三方訊息推送方案有這些: 極光推送 友盟推送 個推 小米推送 騰訊信鴿 百度雲推送 阿里雲推送 今天不講別的,就講講小米推送的整合教程