Skip to content

Commit

Permalink
Add options for initializing MSNotificationHub (#108)
Browse files Browse the repository at this point in the history
* Update to 3.1.3
  • Loading branch information
mpodwysocki authored Jan 26, 2021
1 parent 75ca732 commit d6a0856
Show file tree
Hide file tree
Showing 26 changed files with 288 additions and 32 deletions.
1 change: 1 addition & 0 deletions Config/App.xcconfig
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ IPHONEOS_DEPLOYMENT_TARGET = 9.0
TVOS_DEPLOYMENT_TARGET = 11.0
MACOSX_DEPLOYMENT_TARGET = 10.15
WATCHOS_DEPLOYMENT_TARGET = 3.2
SUPPORTS_MACCATALYST = YES

// :Mark: Build Options
DEBUG_INFORMATION_FORMAT_Debug = dwarf
Expand Down
2 changes: 1 addition & 1 deletion Config/Version.xcconfig
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
BUILD_NUMBER = 1
VERSION_STRING = 3.1.2
VERSION_STRING = 3.1.3
2 changes: 1 addition & 1 deletion Documentation/iOS/WindowsAzureMessaging/.jazzy.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ sdk: iphonesimulator
theme: ../../Themes/apple

module: WindowsAzureMessaging
module_version: 3.1.1
module_version: 3.1.3
author: Microsoft Corp
author_url: http://www.microsoft.com

Expand Down
2 changes: 1 addition & 1 deletion Documentation/macOS/WindowsAzureMessaging/.jazzy.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ sdk: macosx
theme: ../../Themes/apple

module: WindowsAzureMessaging
module_version: 3.1.1
module_version: 3.1.3
author: Microsoft Corp
author_url: http://www.microsoft.com

Expand Down
2 changes: 1 addition & 1 deletion Documentation/tvOS/WindowsAzureMessaging/.jazzy.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ sdk: appletvsimulator
theme: ../../Themes/apple

module: WindowsAzureMessaging
module_version: 3.1.1
module_version: 3.1.3
author: Microsoft Corp
author_url: http://www.microsoft.com

Expand Down
2 changes: 1 addition & 1 deletion Package.swift
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ let package = Package(
path: "WindowsAzureMessaging/WindowsAzureMessaging",
exclude: ["Support"],
cSettings: [
.define("NH_C_VERSION", to:"\"3.1.2\""),
.define("NH_C_VERSION", to:"\"3.1.3\""),
.define("NH_C_BUILD", to:"\"1\""),
.headerSearchPath("**"),
],
Expand Down
41 changes: 41 additions & 0 deletions [email protected]
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
// swift-tools-version:5.3
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.

import PackageDescription

let package = Package(
name: "WindowsAzureMessaging",
defaultLocalization: "en",
platforms: [
.iOS(.v9),
.macOS(.v10_10),
.tvOS(.v11)
],
products: [
.library(
name: "WindowsAzureMessaging",
type: .static,
targets: ["WindowsAzureMessaging"]),
],
dependencies: [],
targets: [
.target(
name: "WindowsAzureMessaging",
path: "WindowsAzureMessaging/WindowsAzureMessaging",
exclude: ["Support"],
cSettings: [
.define("NH_C_VERSION", to:"\"3.1.3\""),
.define("NH_C_BUILD", to:"\"1\""),
.headerSearchPath("**"),
],
linkerSettings: [
.linkedFramework("Foundation"),
.linkedFramework("SystemConfiguration"),
.linkedFramework("UserNotifications"),
.linkedFramework("AppKit", .when(platforms: [.macOS])),
.linkedFramework("UIKit", .when(platforms: [.iOS, .tvOS]))
]
)
]
)
34 changes: 31 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -37,11 +37,11 @@ Below are the steps on how to integrate the Azure Notification Huds SDK in your
github "Azure/azure-notificationhubs-ios"
```

You can also specify a specific version of the Azure Notification Hubs SDK such as 3.1.1s.
You can also specify a specific version of the Azure Notification Hubs SDK such as 3.1.3.

```ruby
# Get version in the format of X.X.X such as 3.1.1
github "Azure/azure-notificationhubs-ios" ~> 3.1.1
# Get version in the format of X.X.X such as 3.1.3
github "Azure/azure-notificationhubs-ios" ~> 3.1.3
```

Once you have this, run `carthage update`. This will fetch the SDK and put it into the `Carthage/Checkouts` folder. Open Xcode and drag the `WindowsAzureMessaging.framework` from the `Carthage/Builds/iOS` for iOS or `Carthage/Builds/macOS` for macOS. Ensure the app target is checked during the import.
Expand Down Expand Up @@ -103,11 +103,34 @@ NSString *hubName = @"<hub-name>";
[MSNotificationHub startWithConnectionString:connectionString hubName:hubName];
```
By default, the SDK will initialize with the `UNAuthorizationOptions` for alert, badge and sound, however, if you wish to change that, you can use the `startWithConnectionString:hubName:options` method specifying which options you wish to use.
Swift:
```swift
// Create with alert, badge and sound
let hubOptions = MSNotificationHubOptions(withOptions: [.alert, .badge, .sound])
// Start SDK
MSNotificationHub.start(connectionString: connectionString!, hubName: hubName!, options: hubOptions!)
```

Objective-C:

```objc
// Create with alert, badge and sound
MSNotificationHubOptions *hubOptions = [[MSNotificationHubOptions alloc] initWithAuthorizationOptions:(UNAuthorizationOptions)(UNAuthorizationOptionAlert | UNAuthorizationOptionSound | UNAuthorizationOptionBadge)];

// Start SDK
[MSNotificationHub startWithConnectionString:connectionString hubName:hubName options:hubOptions];
```
### Intercepting Push Notifications
You can set up a delegate to be notified whenever a push notification is received in foreground or a background push notification has been tapped by the user. To get started with intercepting push notifications, implement the `MSNotificationHubDelegate`, and use the `MSNotificationHub.setDelegate` method to set the delegate implementation.
Swift:
```swift
class SetupViewController: MSNotificationHubDelegate // And other imports
Expand All @@ -132,6 +155,7 @@ func notificationHub(_ notificationHub: MSNotificationHub!, didReceivePushNotifi
```

Objective-C:

```objc
@interface SetupViewController <MSNotificationHubDelegate /* Other protocols */>

Expand Down Expand Up @@ -161,6 +185,7 @@ Objective-C:
One of the ways to target a device or set of devices is through the use of [tags](https://docs.microsoft.com/en-us/azure/notification-hubs/notification-hubs-tags-segment-push-message#tags), where you can target a specific tag, or a tag expression. The Azure Notification Hub SDK for Apple handles this through top level methods that allow you to add, clear, remove and get all tags for the current installation. In this example, we can add some recommended tags such as the app language preference, and device country code.
Swift:
```swift
// Get language and country code for common tag values
let language = Bundle.main.preferredLocalizations.first!
Expand All @@ -174,6 +199,7 @@ MSNotificationHub.addTags([languageTag, countryCodeTag])
```

Objective-C:

```objc
// Get language and country code for common tag values
NSString *language = [[[NSBundle mainBundle] preferredLocalizations] objectAtIndex:0];
Expand All @@ -193,6 +219,7 @@ With [Azure Notification Hub Templates](https://docs.microsoft.com/en-us/azure/n
For example, we can create a template with a body, some headers, and some tags.
Swift:
```swift
// Get language and country code for common tag values
let language = Bundle.main.preferredLocalizations.first!
Expand All @@ -211,6 +238,7 @@ MSNotificationHub.setTemplate(template, forKey: "template1")
```

Objective-C:

```objc
NSString *language = [[[NSBundle mainBundle] preferredLocalizations] objectAtIndex:0];
NSString *countryCode = [[NSLocale currentLocale] countryCode];
Expand Down
13 changes: 12 additions & 1 deletion Scripts/update-version.sh
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
#!/bin/sh

# Copyright (c) Microsoft Corporation. All rights reserved.
# Licensed under the MIT License.

# Updates SDK version.
# Usage: update-version.sh -v <new-version>
Expand Down Expand Up @@ -32,12 +33,22 @@ PROJECT_DIR="$(dirname "$0")/.."
DOCUMENT_DIR="$PROJECT_DIR/Documentation"
PODSPEC_FILE="$PROJECT_DIR/AzureNotificationHubs-iOS.podspec"
SWIFTPM_FILE="$PROJECT_DIR/Package.swift"
SWIFTPM_5_3_FILE="$PROJECT_DIR/[email protected]"

# Update framework version
$(dirname "$0")/framework-version.sh $new_version

# Update documentation version
for file in `find $DOCUMENT_DIR -name '.jazzy.yaml' -type f`; do
sed -i '' 's/\(module_version: \).*/\1'$new_version'/g' $file
done

# Update CocoaPods version
sed -i '' "s/\(\.version[[:space:]]*= \)\'.*\'$/\1'$new_version'/1" $PODSPEC_FILE

# Update SwiftPM version
sed -i '' 's/\(define("NH_C_VERSION",[[:space:]]*to:*\).*/\1''"\\"'$new_version'\\""),''/g' $SWIFTPM_FILE
updateSwiftPMVersion() {
sed -i '' 's/\(define("NH_C_VERSION",[[:space:]]*to:*\).*/\1''"\\"'$new_version'\\""),''/g' $1
}
updateSwiftPMVersion $SWIFTPM_FILE
updateSwiftPMVersion $SWIFTPM_5_3_FILE
Original file line number Diff line number Diff line change
Expand Up @@ -118,6 +118,12 @@
4C1049B924ABF83500FA339E /* ANHNotificationHubAppDelegateForwarder.h in Headers */ = {isa = PBXBuildFile; fileRef = 4C1049B724ABF83500FA339E /* ANHNotificationHubAppDelegateForwarder.h */; };
4C1049BB24ABF85800FA339E /* ANHNotificationHubAppDelegateForwarder.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C1049BA24ABF85800FA339E /* ANHNotificationHubAppDelegateForwarder.m */; };
4C1049BC24ABF85800FA339E /* ANHNotificationHubAppDelegateForwarder.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C1049BA24ABF85800FA339E /* ANHNotificationHubAppDelegateForwarder.m */; };
4C13E51C253E4B9A0068A1B7 /* MSNotificationHubOptions.h in Headers */ = {isa = PBXBuildFile; fileRef = 4C13E51B253E4B9A0068A1B7 /* MSNotificationHubOptions.h */; settings = {ATTRIBUTES = (Public, ); }; };
4C13E51D253E4B9A0068A1B7 /* MSNotificationHubOptions.h in Headers */ = {isa = PBXBuildFile; fileRef = 4C13E51B253E4B9A0068A1B7 /* MSNotificationHubOptions.h */; settings = {ATTRIBUTES = (Public, ); }; };
4C13E51E253E4B9A0068A1B7 /* MSNotificationHubOptions.h in Headers */ = {isa = PBXBuildFile; fileRef = 4C13E51B253E4B9A0068A1B7 /* MSNotificationHubOptions.h */; settings = {ATTRIBUTES = (Public, ); }; };
4C13E535253E4C340068A1B7 /* MSNotificationHubOptions.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C13E534253E4C340068A1B7 /* MSNotificationHubOptions.m */; };
4C13E536253E4C340068A1B7 /* MSNotificationHubOptions.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C13E534253E4C340068A1B7 /* MSNotificationHubOptions.m */; };
4C13E537253E4C340068A1B7 /* MSNotificationHubOptions.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C13E534253E4C340068A1B7 /* MSNotificationHubOptions.m */; };
4C3EEAFF24C8ABAA0096C133 /* SBLocalStorage.h in Headers */ = {isa = PBXBuildFile; fileRef = 4CA7319624A1872F006AC99D /* SBLocalStorage.h */; settings = {ATTRIBUTES = (Public, ); }; };
4C3EEB0024C8ABB40096C133 /* SBLocalStorage.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CA7319924A18759006AC99D /* SBLocalStorage.m */; };
4C3EEB0124C8ABB80096C133 /* SBNotificationHubHelper.h in Headers */ = {isa = PBXBuildFile; fileRef = 4CA7314A24A16BC6006AC99D /* SBNotificationHubHelper.h */; };
Expand Down Expand Up @@ -608,6 +614,8 @@
4C1049B124ABE96E00FA339E /* ANHUserNotificationCenterDelegateForwarder.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ANHUserNotificationCenterDelegateForwarder.m; sourceTree = "<group>"; };
4C1049B724ABF83500FA339E /* ANHNotificationHubAppDelegateForwarder.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ANHNotificationHubAppDelegateForwarder.h; sourceTree = "<group>"; };
4C1049BA24ABF85800FA339E /* ANHNotificationHubAppDelegateForwarder.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ANHNotificationHubAppDelegateForwarder.m; sourceTree = "<group>"; };
4C13E51B253E4B9A0068A1B7 /* MSNotificationHubOptions.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MSNotificationHubOptions.h; sourceTree = "<group>"; };
4C13E534253E4C340068A1B7 /* MSNotificationHubOptions.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = MSNotificationHubOptions.m; sourceTree = "<group>"; };
4C3EEADD24C8AAD70096C133 /* WindowsAzureMessaging.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = WindowsAzureMessaging.framework; sourceTree = BUILT_PRODUCTS_DIR; };
4C3EEAE524C8AAD80096C133 /* WindowsAzureMessaging.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = WindowsAzureMessaging.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
4C3EEBA424C8BDCA0096C133 /* tvOS.modulemap */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.module-map"; path = tvOS.modulemap; sourceTree = "<group>"; };
Expand Down Expand Up @@ -845,6 +853,8 @@
4CA7319324A186CC006AC99D /* SBNotificationHub.m */,
4CA731FC24A1C372006AC99D /* MSNotificationHub.h */,
4CA731FD24A1C3C4006AC99D /* MSNotificationHub.m */,
4C13E51B253E4B9A0068A1B7 /* MSNotificationHubOptions.h */,
4C13E534253E4C340068A1B7 /* MSNotificationHubOptions.m */,
4CA7320924A1C55E006AC99D /* MSNotificationHubDelegate.h */,
4CA730E224A14FF2006AC99D /* WindowsAzureMessaging.h */,
);
Expand Down Expand Up @@ -1163,6 +1173,7 @@
4C3EEB1224C8AD420096C133 /* ANHHttpClient+Private.h in Headers */,
4C3EEB1A24C8AD5E0096C133 /* ANHNotificationHubAppDelegateForwarder.h in Headers */,
4C3EEB9E24C8BA490096C133 /* HTTPStubsResponse+JSON.h in Headers */,
4C13E51E253E4B9A0068A1B7 /* MSNotificationHubOptions.h in Headers */,
4C3EEB0F24C8AD370096C133 /* ANHHttpCall.h in Headers */,
4C3EEB3D24C8AE500096C133 /* ANH_Errors.h in Headers */,
4C3EEB3224C8AE200096C133 /* MSNotificationHubMessage.h in Headers */,
Expand Down Expand Up @@ -1223,6 +1234,7 @@
4C1049B824ABF83500FA339E /* ANHNotificationHubAppDelegateForwarder.h in Headers */,
4CA7314424A16B50006AC99D /* SBRegistration.h in Headers */,
4CA7318424A1820A006AC99D /* ANH_Reachability.h in Headers */,
4C13E51C253E4B9A0068A1B7 /* MSNotificationHubOptions.h in Headers */,
4CA7315124A16C6D006AC99D /* SBTemplateRegistration.h in Headers */,
4CA7315C24A17AC8006AC99D /* ANHDispatcherUtil.h in Headers */,
4CA732BB24A2D04F006AC99D /* HTTPStubsPathHelpers.h in Headers */,
Expand Down Expand Up @@ -1264,6 +1276,7 @@
4CA7316724A17C6B006AC99D /* ANHHttpClientProtocol.h in Headers */,
4C1049B024ABE92100FA339E /* ANHUserNotificationCenterDelegateForwarder.h in Headers */,
4C1049B924ABF83500FA339E /* ANHNotificationHubAppDelegateForwarder.h in Headers */,
4C13E51D253E4B9A0068A1B7 /* MSNotificationHubOptions.h in Headers */,
4C3EEB2424C8ADDC0096C133 /* MSInstallationManager+Private.h in Headers */,
4CA731F524A1C2A2006AC99D /* MSDebounceInstallationManager.h in Headers */,
4CA7318C24A18613006AC99D /* MSInstallationEnrichmentDelegate.h in Headers */,
Expand Down Expand Up @@ -1967,6 +1980,7 @@
4C3EEB4824C8B00E0096C133 /* SBNotificationHub.m in Sources */,
4C3EEB2F24C8AE130096C133 /* MSInstallation.m in Sources */,
4C3EEB1324C8AD450096C133 /* ANHHttpClient.m in Sources */,
4C13E537253E4C340068A1B7 /* MSNotificationHubOptions.m in Sources */,
4C3EEB3724C8AE2F0096C133 /* MSTagHelper.m in Sources */,
4C3EEB3324C8AE240096C133 /* MSNotificationHubMessage.m in Sources */,
4C3EEB2A24C8ADEE0096C133 /* MSTokenProvider.m in Sources */,
Expand Down Expand Up @@ -2026,6 +2040,7 @@
4CA7317F24A180E5006AC99D /* ANHHttpUtil.m in Sources */,
4CA7315824A17A67006AC99D /* SBConnectionString.m in Sources */,
4CA731E324A1BB13006AC99D /* MSNotificationHubMessage.m in Sources */,
4C13E535253E4C340068A1B7 /* MSNotificationHubOptions.m in Sources */,
4CA731C424A18B41006AC99D /* MSTokenProvider.m in Sources */,
4CA731F724A1C2CF006AC99D /* MSDebounceInstallationManager.m in Sources */,
4CA731D924A1B9C8006AC99D /* MSInstallationTemplate.m in Sources */,
Expand Down Expand Up @@ -2106,6 +2121,7 @@
4CA731F824A1C2CF006AC99D /* MSDebounceInstallationManager.m in Sources */,
4CA731E424A1BB13006AC99D /* MSNotificationHubMessage.m in Sources */,
4CA7317024A17FC5006AC99D /* ANHHttpCall.m in Sources */,
4C13E536253E4C340068A1B7 /* MSNotificationHubOptions.m in Sources */,
4CA731DA24A1B9C8006AC99D /* MSInstallationTemplate.m in Sources */,
4CA731CB24A1902F006AC99D /* MSLocalStorage.m in Sources */,
);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -77,7 +77,7 @@ - (void)custom_setDelegate:(id<UNUserNotificationCenterDelegate>)delegate
- (void)custom_userNotificationCenter:(UNUserNotificationCenter *)center
willPresentNotification:(UNNotification *)notification
withCompletionHandler:(void (^)(UNNotificationPresentationOptions options))completionHandler
API_AVAILABLE(ios(10.0), watchos(3.0), macos(10.14), macCatalyst(13.0))API_UNAVAILABLE(tvos) {
API_AVAILABLE(ios(10.0), watchos(3.0), macos(10.14), macCatalyst(13.0)) API_UNAVAILABLE(tvos) {
IMP originalImp = NULL;

/*
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,6 @@ NS_ASSUME_NONNULL_BEGIN
@class MSInstallation;
@class MSInstallationTemplate;
@class MSTokenProvider;
@class MSHttpClient;

typedef void (^InstallationCompletionHandler)(NSError *_Nullable);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ NS_ASSUME_NONNULL_BEGIN

@class MSInstallation;
@class MSDebounceInstallationManager;
@class MSNotificationHubOptions;

@protocol ANHCustomApplicationDelegate;

Expand Down Expand Up @@ -48,6 +49,8 @@ NS_ASSUME_NONNULL_BEGIN
*/
+ (void)resetSharedInstance;

@property(nonatomic, nullable) MSNotificationHubOptions *options;

@property(nonatomic, nullable) id<MSNotificationHubDelegate> delegate;

@property(nonatomic, weak, nullable) id<MSInstallationEnrichmentDelegate> enrichmentDelegate;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,12 +7,25 @@
@class MSNotificationHub;
@class MSInstallation;

/**
* Protocol for the installation lifecycle management for saving an installation calling back when saved successfully or failed to save.
*/
@protocol MSInstallationLifecycleDelegate <NSObject>

@optional

/**
* The installation saved operation succeeded.
* @param notificationHub The notification hub instance.
* @param installation The installation saved to the backend.
*/
- (void)notificationHub:(MSNotificationHub *)notificationHub didSaveInstallation:(MSInstallation *)installation;

/**
* The installation save operation failed.
* @param notificationHub The notification hub instance.
* @param error The error that occurred saving the installation.
*/
- (void)notificationHub:(MSNotificationHub *)notificationHub
didFailToSaveInstallation:(MSInstallation *)installation
withError:(NSError *)error;
Expand Down
22 changes: 22 additions & 0 deletions WindowsAzureMessaging/WindowsAzureMessaging/MSNotificationHub.h
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ NS_ASSUME_NONNULL_BEGIN
@class MSInstallation;
@class MSDebounceInstallationManager;
@class MSInstallationTemplate;
@class MSNotificationHubOptions;

/**
* The Azure Notification Hubs service
Expand All @@ -30,6 +31,16 @@ NS_ASSUME_NONNULL_BEGIN
+ (void)startWithConnectionString:(NSString *)connectionString
hubName:(NSString *)notificationHubName NS_SWIFT_NAME(start(connectionString:hubName:));

/**
* Initializes the Notification Hub with the connection string from the Access
* Policy, and Hub Name.
*
* @param connectionString The access policy connection string.
* @param notificationHubName The Azure Notification Hub name
* @param options The Azure Notification Hubs options such as Authorization Options.
*/
+ (void)startWithConnectionString:(NSString *)connectionString hubName:(NSString *)notificationHubName options:(MSNotificationHubOptions *)options NS_SWIFT_NAME(start(connectionString:hubName:options:));

/**
* Initializes the Notification Hub with the installation management delegate to a custom backend.
* Defines the class that implements the optional protocol `MSInstallationEnrichmentDelegate`.
Expand All @@ -40,6 +51,17 @@ NS_ASSUME_NONNULL_BEGIN
*/
+ (void)startWithInstallationManagement:(id<MSInstallationManagementDelegate>)managementDelegate;

/**
* Initializes the Notification Hub with the installation management delegate to a custom backend and options
* Defines the class that implements the optional protocol `MSInstallationEnrichmentDelegate`.
*
* @param managementDelegate The delegate.
* @param options The Azure Notification Hubs options such as Authorization Options.
*
* @see MSInstallationEnrichmentDelegate
*/
+ (void)startWithInstallationManagement:(id<MSInstallationManagementDelegate>)managementDelegate options:(MSNotificationHubOptions *)options;

#pragma mark Push Initialization

/**
Expand Down
Loading

0 comments on commit d6a0856

Please sign in to comment.