测试已测试 | ✗ |
Lang语言 | Obj-CObjective C |
许可证 | MIT |
Released最后发布 | 2014年12月 |
由 Liviu Romascanu 维护。
LRGoogle Plus Client 是为了简化将 Google Plus 框架集成到 iOS 应用中而创建的。
尽管 Google 文档十分详细,但并不总是那么清晰明了 - 我因而继续着手创建一个更简单的解决方案 - 一个单例类,从登录到单行共享,还能在多种事件上适当通知您。
我认为这个解决方案更容易实现和维护,因为它还减少了在项目间复制解决方案时的很多冗余。
您复制的代码和写的代码越少,遇到的错误就越少。
此版本目前已在 Google Plus SDK 1.5.1 上进行过测试。
您可以从 https://developers.google.com/+/mobile/ios/ 下载并拖动 Google plus 库到您的项目中,或者通过 CocoaPods 获取 LRGooglePlusClient。要安装它,只需将以下行添加到您的 Podfile 中
pod "LRGooglePlusClient"
遵循创建 Google Plus 应用(步骤 1-3)的说明:https://developers.google.com/+/mobile/ios/getting-started
在 App Delegate 中添加以下内容
导入 LRGooglePlusClient 头文件
#import "LRGooglePlusClient.h"
使用客户 ID 启动共享实例
[[LRGooglePlusClient sharedInstance] setClientID:<client id>];
添加以下方法以处理 URL 方案和 SSO
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation
{
return [[LRGooglePlusClient sharedInstance] application:application openURL:url sourceApplication:sourceApplication annotation:annotation];
}
如果您有多个 URL 方案处理组件,可以使用以下代码片段以简化集成
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation
{
if ([[LRGooglePlusClient sharedInstance] application:application openURL:url sourceApplication:sourceApplication annotation:annotation] == NO) {
// Add you URL handling code
} else {
return YES;
}
}
好了 - 您已完成集成并准备好开始共享了。
在深入了解共享方法之前,您可能会注意到有登录、登出和断开连接的方法。虽然这些方法存在是为了简化使用并给您呈现相关 UI 的机会 - 但如果您试图在未登录的情况下共享,它将简单地保存共享数据,直到成功登录发生。
使用 Google plus 登录方法。
从 Google Plus 中注销当前用户。
与登出不同,还会移除应用程序授权并完全从Google应用断开用户连接。
分享URL和文本。注意 - 描述、标题和缩略图URL是从URL标签本身获取的。
与标题、描述、缩略图URL、URL和预填文本一起分享。请注意 - URL信息覆盖其余字段。
此分享方法主要是为了在登录后使用。如果用户尝试分享但没有登录,LLGooglePlusClient将共享信息序列化到一个字典中,并在登录成功后在恢复共享请求时使用。
为了简化理解当前动作的状态,以及方便围绕动作添加各种分析,我创建了一些通知,以更好地理解Google Plus客户端的流程和生命周期。
当Google Plus成功发送分享时,会调用此通知。
当Google Plus完成登录时,会发送此通知。
当Google Plus完成登出时,会发送此通知。
当Google Plus未能登录时,会发送此通知。
Liviu Romascanu, [email protected]
LRGooglePlusClient在MIT许可下可用。有关更多信息,请参阅LICENSE文件。