檢視 IOS Beacon SDK Import 的原始碼
←
IOS Beacon SDK Import
跳至導覽
跳至搜尋
由於下列原因,您沒有權限進行編輯此頁面的動作:
您請求的操作只有這個群組的使用者能使用:
使用者
您可以檢視並複製此頁面的原始碼。
==SDK程式碼導入== 1.在AppDelegate.m中,import BeaconNotification.h以及BeaconController.h兩個herder: #import "BeaconNotification.h" #import "BeaconController.h" //BeaconNotification負責所有的本地推播通知的功能,因此需要導入,並搭配BeaconController進行控制。 2.在AppDelegate.m中,另外寫入以下的程式碼: //註冊LocationNotification的動作:(此方法在iOS 8及iOS 9皆可運作) - (void)application:(UIApplication *)application handleActionWithIdentifier:(NSString *)identifier forLocalNotification:(UILocalNotification *)notification completionHandler:(void (^)())completionHandler{ [[BeaconNotification notificationManager] handleActionWithIdentifier:identifier forLocalNotification:notification]; //此行一定要呼叫 completionHandler(); } //當App在前景時,發送LocalNotification的方法: - (void)application:(UIApplication *)application didReceiveLocalNotification:(UILocalNotification *)notification{ [[BeaconNotification notificationManager] didReceiveBSDKNotification:notification openBtnString:[BeaconController defaultController].openBtnString closeBtnString:[BeaconController defaultController].closeBtnString delayTime:[BeaconController defaultController].closeDelayTime]; } 完成圖:[[檔案:Beacon_import_code_1.png|none|800px]] 3. 在App顯示首頁的ViewController.h中,import BeaconController.h <br/> BeaconController負責控制主要兩件任務,分別是偵測周圍的iBeacon, 以及控制與Server端的連線,上述2部分SDK皆會自行完成。 #import "BeaconController.h" 4.將該ViewController採納BeaconControllerDelegate的protocol @interface ViewController : UIViewController <BeaconControllerDelegate> 透過採納BeaconControllerDelegate的protocol,將可以取得Callback的相關資訊。 完成圖:[[檔案:Beacon_import_code_2.png|none|800px]] 5.在ViewController.m中,在interface區塊建立BeaconController的實體 @property (strong, nonatomic) BeaconController *controller; 6. 在ViewController.m的viewDidLoad中,寫入下方2行的程式碼(請注意在initWithSlotCode後方輸入您的Slot ID): self.controller = [[BeaconController defaultController] initWithSlotCode:@"輸入您的Slot ID"]; 將BeaconController的實體self.controlller透過[BeaconController defaulController]方法建立,defaultController方法將會建立一個Singleton的BeaconController的實體。 之後在後面加入iniitWithSlotCode,並輸入您從TAMidea取得的Slot ID,讓SDK將此參數帶入以向Server請求取得廣告欄位。 self.controller.delegate = self; 將self.controller.delegate的代理人設定為自己。 完成圖:[[檔案:Beacon_import_code_3.png|none|800px]] 7.BeaconControllerDelegate提供數個Delegation callback方法如下: 方法名稱 說明 - (void)BSDKdidCompleteUpdateBeaconSDK; 通知與Server連線完成並取得廣告資料 - (void)BSDKdidFailUpdateBeaconSDK:(NSError *)error; 通知與Server連線失敗 - (void)BSDKdidEnterBeaconRegion:(CLRegion *)region; 通知進入iBeacon區域 - (void)BSDKdidExitBeaconRegion:(CLRegion *)region; 通知離開iBeacon區域 - (void)BSDKdidRangeBeaconInfo:(CLBeacon*)beacon; 通知取得iBeacon裝置細部資訊 -(void)BSDKdidReceivedPowerVoltage:(float)voltage fromBeacon:(NSString *)mac; 通知取得iBeacon裝置電量資訊 - (void)BSDKdidReopenAdRequest; 通知廣告等待間隔期間到期,可請求廣告 8.錯誤訊息Error Message Log<br/> 表示與Server連線後,取得Server上資料失敗(可能原因:網路連線不穩定) Error Domain=NSURLErrorDomain Code=-1001 "The request timed out." 9. Bitcode相關<br/> 本SDK使用最新Xcode 7建立,因此有包含Xcode 7所提供的Bitcode機制,如打包專案時出現Bitcode相關錯誤,請至Build Setting中,搜尋Bitcode並把Enable Bitcode關閉(使用Xcode 7之專案)。 10. 請求廣告限制<br/> 當廣告請求成功後,下次啟動請求廣告需滿足以下條件: 需等待請求廣告時間之間隔到期後,才能再次請求廣告(等待時間由Server端回傳時間值,再由SDK進行判斷)。 11. iPhone環境在iOS8以下的情況<br/> SDK會偵測iOS版本,如果iPhone裝置環境在iOS8以下則SDK不會進行任何運作 [[檔案:Beacon_import_code_4.png|none|800px]]
返回到「
IOS Beacon SDK Import
」。
導覽選單
個人工具
登入
命名空間
頁面
討論
變體
已展開
已摺疊
視圖
閱讀
檢視原始碼
檢視歷史
更多
已展開
已摺疊
搜尋
導覽
首頁
近期變更
隨機頁面
有關 MediaWiki 的說明
工具
連結至此的頁面
相關變更
特殊頁面
頁面資訊