GMSNavigationServices 类参考文档

GMSNavigationServices 类参考

概览

可实现以下目的的服务:在移动设备上控制对 Google Maps Navigation SDK for iOS 的访问权限。

静态公共成员函数

(BOOL) + areTermsAndConditionsAccepted
 对于 5.5.0 或更高版本,指明用户是否已确认条款及条件。
(void) + showTermsAndConditionsDialogIfNeededWithTitle:companyName:UIParams:callback:
 如果应用用户尚未接受 Navigation SDK 条款及条件,则显示模态对话框。
(void) + showTermsAndConditionsDialogIfNeededWithTitle:companyName:callback:
 以默认外观和风格显示条款及条件对话框。
(void) + showTermsAndConditionsDialogIf 需要 edWithCompanyName:callback:
 使用默认标题和外观和风格显示条款及条件对话框。
(void) + resetTermsAndConditionsAccepted
 将条款及条件重置为“未接受”状态。
(void) + setAbnormalTeralityReportingEnabled
 允许报告异常 SDK 终止情况,例如应用在 SDK 仍在运行时发生崩溃。
(可为 null 的 GMSNavigationSession *)+ createNavigationSession
 创建未与地图视图关联的新导航会话。
(NSString *) + openSourceLicenseInfo
 返回 Google Navigation SDK for iOS 的开源软件许可信息。
(NSString *) + navSDKVersion
 返回此版本的 Navigation SDK for iOS 版本。

属性

BOOL shouldOnlyShowDriverAwarenesssDisclaimer
 指示 showTermsAndConditionsDialogIfNeededWithCompanyName:callback: 是否应仅显示驾驶员感知免责声明。

(请注意,这些不是成员函数。)

typedef void(^)GMSTermsResponseCallback )(接受 BOOL 条款)
 在用户接受或拒绝条款和条件时调用。

成员函数文档

对于 5.5.0 或更高版本,指明用户是否已确认条款及条件。

对于早期版本, 指明用户是否已接受条款及条件。

如果为 false,服务将停用对导航界面的访问权限。

+ (void) showTermsAndConditionsDialogIfNeedsedWithTitle: (nullable NSString *)  title
companyName: (NSString *)  companyName
UIParams: (可为 null 的 GMSNavigationTermsDialogUIParams *) UIParams
回调: (GMSTermsResponseCallback) 回调

如果应用用户尚未接受 Navigation SDK 条款及条件,则显示模态对话框。

回调会随用户响应一起发送到主队列中。

如果用户已接受条款及条件,系统不会显示任何对话框,并且回调包含 termsAccepted = YES

companyName 参数设置为您的公司。公司名称显示在条款及条件文本中。这段文字向应用用户解释了位置数据可能会分享给该公司以改善运营。

从主线程调用此方法。不等待响应的多次调用不会产生任何效果。

参数:
title对话框的标题。如果 title 为 nil,对话框将使用默认标题。
注意:
对于自定义商品名,此方法的调用方需要本地化此参数。默认标题由服务自动本地化。
参数:
companyName发布应用的公司的名称,并同意与 Google 达成的位置数据分享协议。
UIParams用于定义对话框外观和风格的参数。如果为 nil,对话框将使用默认外观和风格。
callback块随用户响应一起发送到主队列中。
+ (void) showTermsAndConditionsDialogIfNeedsedWithTitle: (nullable NSString *)  title
companyName: (NSString *)  companyName
回调: (GMSTermsResponseCallback) 回调

以默认外观和风格显示条款及条件对话框。

如需了解详情(包括参数 companyNamecallback 的说明),请参阅 +showTermsAndConditionsDialogIf 需要 edWithTitle:companyName:UIParams:callback:。

+ (void) showTermsAndConditionsDialogIfNeedsedWithCompanyName: (NSString *)  companyName
回调: (GMSTermsResponseCallback) 回调

使用默认标题和外观和风格显示条款及条件对话框。

如需了解详情(包括参数 companyNamecallback 的说明),请参阅 +showTermsAndConditionsDialogIf 需要 edWithTitle:companyName:UIParams:callback:。

将条款及条件重置为“未接受”状态。

调用此方法后,areTermsAndConditionsAccepted 将返回 NO,而 #if SDK_BUILD_CONFIG(EnableNavSDKSkipToSOptions) showTermsAndConditionsDialogIfNeededWithOptions:callback: 和 #endif showTermsAndConditionsDialogIfNeededWithCompanyName:callback: 将显示条款及条件对话框。任何现有GMSMapView实例的navigationEnabled属性都将重置为“否”。

+(空)setAbnormalTeralityReportingEnabled (BOOL)  abnormalTerminationReportingEnabled

允许报告异常 SDK 终止情况,例如应用在 SDK 仍在运行时发生崩溃。

这有助于 Google 提高 SDK 的稳定性(如适用)。默认值为 YES,且值必须在初始化服务实例之前更新。

必须从主线程设置此属性。

创建未与地图视图关联的新导航会话。

分配并返回新的导航会话。您可以在会话上设置航点和选项,还可以向会话添加监听器。

如果尚未接受条款及条件,此方法将返回 nil。这是此方法会返回 nil 的唯一原因。

您可以在创建地图后,使用 GMSMapView 方法 -enableNavigationWithSession 将此会话与地图相关联。会话是会消耗内存、数据和电量的重量级对象,因此仅当持久性导航会话是应用的主要功能时,才应分配会话。出于同样的原因,如果应用在建立导航会话后创建导航界面,请确保使用现有导航会话启动导航界面,而不是创建新的导航界面。

导航会话的生命周期受常规 Objective-C 语义控制。因此,此例程的调用方应保存对会话的引用。

+ (NSString *) openSourceLicenseInfo

返回 Google Navigation SDK for iOS 的开源软件许可信息。

此信息必须在您的应用中提供。

+ (NSString *) navSDKVersion

返回此版本的 Navigation SDK for iOS 版本。


- (typedef void(^ GMSTermsResponseCallback)(BOOL termsAccepted)) [related]

在用户接受或拒绝条款和条件时调用。

对于 5.5.0 或更高版本,termsAccepted 将始终为 YES。


属性说明

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

指示 showTermsAndConditionsDialogIfNeededWithCompanyName:callback: 是否应仅显示驾驶员感知免责声明。

默认值为 NO,系统会在导航 SDK 提供的默认条款和服务之外显示免责声明。设置为 YES 以表明应仅显示驾驶员感知免责声明。

如果项目必须显示“条款及条件”对话框,则将此变量设置为 YES 不会产生任何影响。此外,getter 方法始终会返回 NO

必须设置此属性,或者从主线程读取此属性。