iOS端Google Home应用的URL Scheme是什么?如何从自有应用启动它?
iOS中Google Home应用的URL Scheme及启动方法
我来帮你理清iOS上Google Home应用的URL Scheme相关问题,这是不少iOS开发者在实现应用跳转时会碰到的需求:
一、Google Home对应的URL Scheme
- Google Home官方公开的基础唤起Scheme是
googlehome://,用这个可以直接打开Google Home应用的首页。 - 另外还有一些针对特定功能的Scheme(可能随应用版本更新有所调整,建议测试最新版本兼容性):
googlehome://devices:直接跳转到设备列表页面googlehome://routines:跳转到自动化场景(Routines)页面
二、自研应用中启动Google Home的实现方法
要在你的自研应用里唤起Google Home,需要先判断设备是否已安装该应用,再执行跳转操作,同时还要注意iOS版本的权限配置:
1. 权限配置(iOS 9+)
在应用的Info.plist文件中添加LSApplicationQueriesSchemes数组,将googlehome作为数组元素之一,否则系统会限制你的应用查询该Scheme的可用性。
2. 代码实现示例
Swift版本:
import UIKit func launchGoogleHome() { guard let googleHomeURL = URL(string: "googlehome://") else { print("无效的Google Home URL Scheme") return } if UIApplication.shared.canOpenURL(googleHomeURL) { UIApplication.shared.open(googleHomeURL, options: [:]) { success in if success { print("Google Home应用已成功唤起") } else { print("唤起Google Home应用失败,请检查应用状态") } } } else { // 这里可以添加引导用户前往App Store下载的逻辑 print("未检测到Google Home应用,请先安装") } }
Objective-C版本:
#import <UIKit/UIKit.h> - (void)launchGoogleHome { NSURL *googleHomeURL = [NSURL URLWithString:@"googlehome://"]; if (!googleHomeURL) { NSLog(@"无效的Google Home URL Scheme"); return; } if ([[UIApplication sharedApplication] canOpenURL:googleHomeURL]) { [[UIApplication sharedApplication] openURL:googleHomeURL options:@{} completionHandler:^(BOOL success) { if (success) { NSLog(@"Google Home应用已成功唤起"); } else { NSLog(@"唤起Google Home应用失败,请检查应用状态"); } }]; } else { NSLog(@"未检测到Google Home应用,请先安装"); } }
如果需要跳转到特定功能页面,只需要把代码中的googlehome://替换成对应的功能Scheme(比如googlehome://devices)即可。
内容的提问来源于stack exchange,提问作者Zara Mehboob Ali
相关产品推荐
相关产品推荐

