providerCreator

providerCreator is a protocol that defines specific social login providers (e.g., Google, Facebook, Apple) available in our iOS SDK. These specific providers use native calls or external libraries to authenticate users.

All providers except Apple that you configure in the ReachFive Console for which you don’t use a specific provider creator will authenticate through an ASWebAuthenticationSession.

You should define and configure these providers when you configure the iOS SDK.

Examples

static let reachfive: ReachFive = ReachFive(
    sdkConfig: sdkRemote,
    providersCreators: [
        GoogleProvider(),
        FacebookProvider(),
        AppleProvider(variant: "ios_native"),
        WeChat()]
)

Available provider creators

The providers who have a variant parameter have the following algorithm to choose a variant configured on the console.

  • If a variant is provided, the variant with the exact name, irrespective of case, is chosen. If no variant matches, the algorithm chooses the variant as if no variant was provided.

  • If no variant is provided, the first variant containing ios in its name, irrespective of case, if any, is chosen. Otherwise, the default variant is chosen.

Name Description

GoogleProvider

The object for configuring Google native provider for our iOS SDK.

Optionally takes a variant parameter.

GoogleProvider(variant: "native") (1)
1 Available from Reach5Google 7.1.0.

FacebookProvider

The object for configuring Facebook native provider for our iOS SDK.

This provider takes two optional parameters:

  • variant string: the provider variant to use.

  • prefersLoginTracking FBSDKLoginKit.LoginTracking: Indicates preference to the Facebook SDK for the limited or classic login. Facebook SDK is ultimately responsible for the decision.

FacebookProvider(
    variant: "ios", (1)
    prefersLoginTracking: .limited (2)
)
1 Available from Reach5Facebook 7.1.0.
2 Available from Reach5Facebook 7.2.0.

AppleProvider

Optionally takes a variant parameter.

Not specifying AppleProvider at all in the providerCreators array is equivalent to specifying AppleProvider with no variant.
AppleProvider(variant: "native") (1)
1 Available from ReachFive 7.1.3.

WeChat

The object for configuring WeChat Connect for our iOS SDK.

WeChat() (1)
1 WeChat takes no parameters.