AGDeviceRegistration
Utility to register an iOS device with the AeroGear UnifiedPush Server.
-
An initializer method to instantiate an AGDeviceRegistration object.
Declaration
Swift
public init(serverURL: NSURL)Parameters
serverURLthe URL of the AeroGear Push server.
Return Value
the AGDeviceRegistration object.
-
An initializer method to instantiate an AGDeviceRegistration object with default app plist config file.
Declaration
Swift
public convenience init(config: String)Parameters
configfile name where to fetch AeroGear UnifiedPush server configuration.
Return Value
the AGDeviceRegistration object.
-
An initializer method to instantiate an AGDeviceRegistration object.
Declaration
Swift
public override init()Return Value
the AGDeviceRegistration object.
-
Registers your mobile device to the AeroGear UnifiedPush server so it can start receiving messages. Registration information can be provided within clientInfo block or by providing a plist file containing the require registration information as below:
serverURL pushServerURL e.g http(s)//host:port/context variantID variantID e.g. 1234456-234320 variantSecret variantSecret e.g. 1234456-234320 …Declaration
Swift
public func registerWithClientInfo(clientInfo: ((config: AGClientDeviceInformation) -> Void)!, success:(() -> Void)!, failure:((NSError) -> Void)!) -> VoidParameters
clientInfoA block object which passes in an implementation of the AGClientDeviceInformation protocol that
successA block object to be executed when the registration operation finishes successfully.
failureA block object to be executed when the registration operation finishes unsuccessfully.
-
We need to cater for possible redirection NOTE: As per Apple doc, the passed req is ‘the proposed redirected request’. But we cannot return it as it is. The reason is, user-agents (and in our case NSURLconnection) ‘erroneous’ after a 302-redirection modify the request’s http method and sets it to GET if the client initially performed a POST (as we do here).
See RFC 2616 (section 10.3.3) http://www.ietf.org/rfc/rfc2616.txt and related blog: http://tewha.net/2012/05/handling-302303-redirects/ We need to 'override' that 'default' behaviour to return the original attempted NSURLRequest with the URL parameter updated to point to the new 'Location' header.Declaration
Swift
public func URLSession(session: NSURLSession, task: NSURLSessionTask, willPerformHTTPRedirection redirectResponse: NSHTTPURLResponse, newRequest redirectReq: NSURLRequest, completionHandler: ((NSURLRequest!) -> Void))
View on GitHub
AGDeviceRegistration Class Reference