[aerogear-dev] iOS Push Client: REGISTRATION
Matthias Wessendorf
matzew at apache.org
Mon May 6 15:32:20 EDT 2013
One thing that we _could_ also include here, is a "ag-push" category for
the AppDelegate class, which implements the iOS/APNs specific "delegate
methods".
the JS/Phonegap plugin does that for it's iOS backing.
https://github.com/phonegap-build/PushPlugin/blob/master/src/ios/AppDelegate%2Bnotification.h
Basic idea: we implement all the required hooks, for our customers/users -
besides a few bits:
- URL of the server
- ID of the (iOS) variant (since that is specific to THEIR installation of
the UP server)
Downside: I *think* overriding of that category is odd...
-Matthias
On Mon, May 6, 2013 at 3:20 PM, Matthias Wessendorf <matzew at apache.org>wrote:
> Location of the project, is currently here:
> https://github.com/matzew/ag-client-push-sdk
>
> API:
>
> https://github.com/matzew/ag-client-push-sdk/blob/master/push-sdk/AGDeviceRegistration.h
>
>
> TEST (incl. OHHTTPStubs for mocking AFNetworking):
>
> https://github.com/matzew/ag-client-push-sdk/blob/master/push-sdkTests/AGDeviceRegistrationSpec.m
>
>
> -Matthias
>
>
> On Mon, May 6, 2013 at 11:58 AM, Matthias Wessendorf <matzew at apache.org>wrote:
>
>> Hi,
>>
>> the client side spec describes the required functionality to register
>> devices with the Unified Push Server.
>>
>> The client SKD should be simple to use. For the iOS, I thought about a
>> register that takes three blocks:
>>
>> - ClientDeviceInformation object/protocol (similar to our
>> configuration objects)
>> - success callback
>> - failure callback
>>
>> // AppDelegate code/delegate function, for a push enabled application:- (void)application:(UIApplication *)application
>> // deviceToken provided by APNs
>> didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken {
>>
>> // the AG AGDeviceRegistration helper/class:
>> [registration registerWithClientInfo:^(id<AGClientDeviceInformation> clientInfo) {
>> // apply the desired info:
>> clientInfo.token = deviceToken;
>> clientInfo.alias = @"mister at xyz.com";
>> clientInfo.mobileVariantID = @"123456432134564321345432";
>> // ... as needed more of the data;
>> } success:^(id responseObject) {
>> // invoked, on 200 HTTP response code from the Unified Push Server
>> } failure:^(NSError *error) {
>> // invoked:
>> // missing required data (e.g. no token submitted)
>> // on 4xx/5zz HTTP response codes from the Unified Push Server}];}
>>
>> The above registerWithClientInfo:successfailure method uses AFNetworking to
>> submit the receiveddeviceToken to the *AeroGear Unified Push Server*.
>> The desired information data is provided on the first callback.
>>
>> The concept of a "block" for setting up data/objects has been useful on
>> AGPipeConfig, so reusing the concept here as well.
>>
>> *Note:* Class/method names may change over time...
>>
>> Thoughts ?
>>
>>
>>
>> -Matthias
>>
>>
>> --
>> Matthias Wessendorf
>>
>> blog: http://matthiaswessendorf.wordpress.com/
>> sessions: http://www.slideshare.net/mwessendorf
>> twitter: http://twitter.com/mwessendorf
>>
>
>
>
> --
> Matthias Wessendorf
>
> blog: http://matthiaswessendorf.wordpress.com/
> sessions: http://www.slideshare.net/mwessendorf
> twitter: http://twitter.com/mwessendorf
>
--
Matthias Wessendorf
blog: http://matthiaswessendorf.wordpress.com/
sessions: http://www.slideshare.net/mwessendorf
twitter: http://twitter.com/mwessendorf
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/aerogear-dev/attachments/20130506/8ea1fd37/attachment.html
More information about the aerogear-dev
mailing list