GMSNavigationServices 類別參考資料

GMSNavigationServices 類別參考資料

總覽

這類服務可讓您控管 Google Maps Navigation SDK for iOS 的行動裝置存取權。

靜態公開成員函式

(BOOL) + areTermsAndConditionsAccepted
 指出使用者是否已接受條款及細則。
(void) + showTermsAndConditionsDialogIfNeededWithTitle:companyName:UIParams:callback:
 如果應用程式使用者尚未接受 Navigation SDK 條款及細則,顯示強制回應對話方塊。
(void) + showTermsAndConditionsDialogIfNeededWithTitle:companyName:callback:
 顯示使用預設外觀和風格的條款及細則對話方塊。
(void) + showTermsAndConditionsDialogIfNeededWithCompanyName:callback
 使用預設標題與風格顯示條款及細則對話方塊。
(void) + resetTermsAndConditionsAccepted
 將條款及細則重設為不接受狀態。
(void) + setAbnormalTerminationReportingEnabled:
 啟用回報 SDK 異常終止情形的報告功能,例如應用程式在 SDK 執行期間發生當機情形。
(可為空值 GMSNavigationSession *)+ createNavigationSession
 建立新的導航工作階段,與地圖檢視沒有關聯。
(NSString *)+ openSourceLicenseInfo
 傳回 Google Navigation SDK for iOS 的開放原始碼軟體授權資訊。
(NSString *)+ navSDKVersion
 傳回這個版本的 Navigation SDK for iOS 版本。

資源

BOOLshouldOnlyShowDriverAwarenesssDisclaimer
 指出 showTermsAndConditionsDialogIfNeededWithCompanyName:callback: 是否只應顯示駕駛人感知免責事項。

(請注意,這些並非成員函式)。

typedef void(^ GMSTermsResponseCallback )(BOOL 條款)
 當使用者接受或拒絕條款及細則時,會呼叫此方法。

成員函式說明文件

指出使用者是否已接受條款及細則。

如果設為 False,服務會停用導覽介面的存取權。

+ (void) showTermsAndConditionsDialogIfNeededWithTitle: (nullable NSString *)  title
公司名稱: (NSString *) companyName
UIParams: (可為空值 GMSNavigationTermsDialogUIParams *) UIParams
回呼: (GMSTermsResponseCallback)。 回呼

如果應用程式使用者尚未接受 Navigation SDK 條款及細則,顯示強制回應對話方塊。

回呼會與使用者回應一起傳送至主要佇列。

如果使用者已接受條款及細則,就不會顯示對話方塊,且回呼包含 termsAccepted = YES

companyName 參數設為貴公司。公司名稱會顯示在條款及細則文字中。這段文字說明應用程式使用者可能會將位置資料提供給該公司,協助改善營運。

在主執行緒呼叫此方法。多次呼叫如果不等待回應,就不會產生任何效果。

參數:
title對話方塊的標題。如果 title 為 nil,對話方塊會使用預設標題。
注意:
如為自訂標題,此方法的呼叫端需要將這個參數本地化。服務會自動為預設標題進行本地化。
參數:
companyName發布應用程式的公司名稱,並與 Google 達成協議以分享位置資料。
UIParams定義對話方塊外觀和風格的參數。如果為 nil,對話方塊就會使用預設的外觀和風格。
回呼透過使用者回應在主要佇列中傳送的封鎖。
+ (void) showTermsAndConditionsDialogIfNeededWithTitle: (nullable NSString *)  title
公司名稱: (NSString *) companyName
回呼: (GMSTermsResponseCallback)。 回呼

顯示使用預設外觀和風格的條款及細則對話方塊。

詳情請參閱 +showTermsAndConditionsDialogIfNeededWithTitle:companyName:UIParams:callback: 一節以瞭解詳情,包括參數、companyNamecallback 的說明。

+ (void) showTermsAndConditionsDialogIfNeededWithCompanyName: (NSString *) companyName
回呼: (GMSTermsResponseCallback)。 回呼

使用預設標題與風格顯示條款及細則對話方塊。

詳情請參閱 +showTermsAndConditionsDialogIfNeededWithTitle:companyName:UIParams:callback: 一節以瞭解詳情,包括參數 companyNamecallback 的說明。

將條款及細則重設為不接受狀態。

呼叫這個方法後,areTermsAndConditionsAccepted 會傳回 NO,showTermsAndConditionsDialogIfNeededWithCompanyName:callback: 會顯示條款及細則對話方塊。任何現有 GMSMapView 例項的 navigationEnabled 屬性將重設為 NO。

+ (void) setAbnormalTerminationReportingEnabled: (BOOL)  abnormalTerminationReportingEnabled

啟用回報 SDK 異常終止情形的報告功能,例如應用程式在 SDK 執行期間發生當機情形。

這有助 Google 提升 SDK 穩定性 (如適用)。預設值為 YES,而此值必須在服務執行個體初始化前更新。

這個屬性必須透過主執行緒設定。

建立新的導航工作階段,與地圖檢視沒有關聯。

系統會分配並傳回新的導覽工作階段。可以在時段上設定路線控點和選項,也可以新增事件監聽器。

如果尚未接受條款及細則,此方法就會傳回 nil。這就是從這個方法傳回 nil 的唯一原因。

建立工作階段後,您可以使用 GMSMapView 方法 -enableNavigationWithSession 將工作階段與地圖建立關聯。工作階段是會耗用記憶體、資料和電池的重型物件,因此只有在永久導航工作階段是應用程式的主要功能時,才能分配工作階段。基於相同理由,如果應用程式在建立導覽工作階段後建立了導覽 UI,請務必使用現有的導覽工作階段啟動導覽 UI,而非建立新的導覽工作階段。

導覽工作階段的生命週期受一般 Objective-C 語意控制。因此,這個日常安排的呼叫端應儲存工作階段的參照。

+ (NSString *) openSourceLicenseInfo

傳回 Google Navigation SDK for iOS 的開放原始碼軟體授權資訊。

您必須在應用程式內提供這項資訊。

+ (NSString *) navSDKVersion

傳回這個版本的 Navigation SDK for iOS 版本。


- (typedef void(^ GMSTermsResponseCallback)(BOOL 條款接受) [related]

當使用者接受或拒絕條款及細則時,會呼叫此方法。


屬性說明文件

- (BOOL) shouldOnlyShowDriverAwarenesssDisclaimer [read, write, assign]

指出 showTermsAndConditionsDialogIfNeededWithCompanyName:callback: 是否只應顯示駕駛人感知免責事項。

預設值為 NO,且除了 Navigation SDK 提供的預設條款和服務之外,還會顯示免責事項。設為 YES,表示只應顯示駕駛人感知免責事項。

如果專案必須顯示條款及細則對話方塊,請將這個變數設為 YES 不會產生任何作用。此外,getter 方法一律會傳回 NO

這個屬性必須設定或從主執行緒讀取。