MagicPageBase 6.6

MagicPageBase 6.6

Talan 维护。



 
依赖项
Alamofire>= 0
Kingfisher>= 0
SnapKit>= 0
SwiftyUserDefaults>= 0
GoogleSignIn>= 0
FBSDKLoginKit>= 0
FBSDKShareKit>= 0
Adjust>= 0
Branch>= 0
RxSwift>= 0
SwifterSwift>= 0
Firebase/Analytics>= 0
WKSimpleBridge>= 0
RxCocoa>= 0
 

  • 作者:
  • Talan

MagicPageBase

H5 封装完成后需要额外配置的内容

友推(Getui)暂时需要额外自行添加。(待更新)

白名单添加

fbapi,fb-messenger-share-api,fbauth2,fbshareextension,paytm

Google 登录部分:

  • 将 GoogleService-Info.plist 文件放入工程目录下
  • 配置 URL Scheme(REVERSED_CLIENT_ID)

Facebook 分享部分:

  • 在 info.plist 文件中添加
<key>CFBundleURLTypes</key>
<array>
  <dict>
    <key>CFBundleURLSchemes</key>
    <array>
      <string>fb{your-app-id}</string>
    </array>
  </dict>
</array>
<key>FacebookAppID</key>
<string>{your-app-id}</string>
<key>FacebookDisplayName</key>
<string>{your-app-name}</string>
<key>LSApplicationQueriesSchemes</key>
<array>
  <string>fbapi</string>
  <string>fb-messenger-share-api</string>
  <string>fbauth2</string>
  <string>fbshareextension</string>
</array>

Branch 部分:

  • 配置 Associated Domains

  • 在 build phases 中,在 copy bundle resources 中添加 example.entitlements

  • 配置 Info.plist

    在 Info.plist 中添加以下字段:

    branch_app_domain

    branch_key

    URL Schemes

    这三个字段的值需要与 DashBoard 中设置的内容一致

  • 在 appdelegate 类的方法中添加:

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool { 
      
    Branch.getInstance().initSession(launchOptions: launchOptions) { (param, error) in
        }
      
      return true
  }

友推(Getui)部分

需要在桥接文件中导入头文件

#import <GTSDK/GeTuiSdk.h>

Paytm 部分

URL Schemes 填写 "paytm"+"mid"(mid 是 dokypay 在 Paytm 的唯一商户 ID)

综合部分

func application(_ app: UIApplication, open url: URL, options: [UIApplication.OpenURLOptionsKey : Any] = [:]) -> Bool {
        Branch.getInstance().application(app, open: url, options: options)
        ApplicationDelegate.shared.application(app, open: url, options: options)
        GIDSignIn.sharedInstance()?.handle(url)
        return true
    }

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool { 
      
    ApplicationDelegate.shared.application(application, didFinishLaunchingWithOptions: launchOptions)
    Branch.getInstance().initSession(launchOptions: launchOptions) { (param, error) in
        }     
      return true
  }