LRGooglePlusClient 1.1.0

LRGooglePlusClient 1.1.0

测试已测试
Lang语言 Obj-CObjective C
许可证 MIT
Released最后发布2014年12月

Liviu Romascanu 维护。



简介

LRGoogle Plus Client 是为了简化将 Google Plus 框架集成到 iOS 应用中而创建的。

尽管 Google 文档十分详细,但并不总是那么清晰明了 - 我因而继续着手创建一个更简单的解决方案 - 一个单例类,从登录到单行共享,还能在多种事件上适当通知您。

我认为这个解决方案更容易实现和维护,因为它还减少了在项目间复制解决方案时的很多冗余。

您复制的代码和写的代码越少,遇到的错误就越少。

Google Plus SDK 版本

此版本目前已在 Google Plus SDK 1.5.1 上进行过测试。

集成

  1. 将 LRGooglePlusClient 复制到您的项目中
  2. 您可以从 https://developers.google.com/+/mobile/ios/ 下载并拖动 Google plus 库到您的项目中,或者通过 CocoaPods 获取 LRGooglePlusClient。要安装它,只需将以下行添加到您的 Podfile 中

    pod "LRGooglePlusClient"

  3. 遵循创建 Google Plus 应用(步骤 1-3)的说明:https://developers.google.com/+/mobile/ios/getting-started

  4. 从以下位置记录您特定应用的 Client ID:https://code.google.com/apis/console 转到旧版本 -> API 访问
  5. 在 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 的机会 - 但如果您试图在未登录的情况下共享,它将简单地保存共享数据,直到成功登录发生。

signIn

使用 Google plus 登录方法。

signOut

从 Google Plus 中注销当前用户。

断开连接

与登出不同,还会移除应用程序授权并完全从Google应用断开用户连接。

shareWithURL:andPrefillText

分享URL和文本。注意 - 描述、标题和缩略图URL是从URL标签本身获取的。

sharewithTitle:andDescription:andThumbnailURL:andURL:andPrefillText

与标题、描述、缩略图URL、URL和预填文本一起分享。请注意 - URL信息覆盖其余字段。

shareWithDictionary

此分享方法主要是为了在登录后使用。如果用户尝试分享但没有登录,LLGooglePlusClient将共享信息序列化到一个字典中,并在登录成功后在恢复共享请求时使用。

通知

为了简化理解当前动作的状态,以及方便围绕动作添加各种分析,我创建了一些通知,以更好地理解Google Plus客户端的流程和生命周期。

LRGooglePlusShareNotification

当Google Plus成功发送分享时,会调用此通知。

LRGooglePlusDidLoginNotification

当Google Plus完成登录时,会发送此通知。

LRGooglePlusDidLogoutNotification

当Google Plus完成登出时,会发送此通知。

LRGooglePlusDidNotLoginNotification

当Google Plus未能登录时,会发送此通知。

作者

Liviu Romascanu, [email protected]

许可

LRGooglePlusClient在MIT许可下可用。有关更多信息,请参阅LICENSE文件。