Posts

Post not yet marked as solved
2 Replies
524 Views
HelloWe are into business of selling minutes to users to call around the world. We are already running our business through websites and offline(via distributors).Now, we are coming out with an App which will help them provide more ease for making calls.. We have designed flow such that users will be able to select plan or renew existing plan. For payment, we will be using 3rd party payment gateway.As I understand from Apple's App store guideline 3.1.1, selling of digital goods comes under IAP. Is selling minutes catogerised as digital goods and services.?I also want to know few more things.1. Does IAP applies to every transactions being made by users? Problem that we are facing, If IAP applies to every transaction then 30% commission to Apple will be very high and our business model is not ready to take that much dent in revenue.2. other alternative could be to increase prices to compensate commission fee but that would create dissatisfaction at user level as they would see two different price for same plan.3. Is it allowed to redirect users from app to website when performing payment activities? will App be rejected by Apple team?We do not want to follow illegal practises that some businesses might be following, but at same time giving 30% commision on every transaction will be huge dent in revenue. Please share alternatives to reduce this dent
Posted Last updated
.
Post not yet marked as solved
0 Replies
415 Views
I had integrated VoIP and remote notification in my app, but Specifically, in iPhone 5s with ios 12.4.5. I did get a VoIP token or remote token.UIApplicationDelegate's toke method and PKPushRegistryDelegate's token method not invoke. what's wrong hereI already tried with a strong network of cellular instead of connecting with wifi.Please help me with this issue.here is my code@interface AppDelegate : UIResponder <UIApplicationDelegate,PKPushRegistryDelegate,UNUserNotificationCenterDelegate>{ PKPushRegistry *voipRegistry;}@implementation AppDelegate- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions{ [self pushNotificationRegister]; return true; }-(void)pushNotificationRegister{ UNUserNotificationCenter *center = [UNUserNotificationCenter currentNotificationCenter]; UNAuthorizationOptions options = UNAuthorizationOptionAlert + UNAuthorizationOptionSound + UNAuthorizationOptionBadge; center.delegate = self; [center requestAuthorizationWithOptions:options completionHandler:^(BOOL granted, NSError * _Nullable error){ if( !error ){ dispatch_async(dispatch_get_main_queue(), ^{ [self voipRegistration]; [UIApplication.sharedApplication registerForRemoteNotifications]; }); } }]; [center getNotificationSettingsWithCompletionHandler:^(UNNotificationSettings * _Nonnull settings) { if (settings.authorizationStatus != UNAuthorizationStatusAuthorized) { } }];}- (void) voipRegistration{ voipRegistry = [[PKPushRegistry alloc] initWithQueue: dispatch_get_main_queue()]; voipRegistry.desiredPushTypes = [NSSet setWithObject:PKPushTypeVoIP]; voipRegistry.delegate = self;}- (void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken{ // Not invoke}- (void)application:(UIApplication *)application didFailToRegisterForRemoteNotificationsWithError:(NSError *)error{ // Not invoke}- (void)pushRegistry:(PKPushRegistry *)registry didUpdatePushCredentials:(PKPushCredentials *)pushCredentials forType:(PKPushType)type{ // Not invoke}- (void)pushRegistry:(PKPushRegistry *)registry didInvalidatePushTokenForType:(PKPushType)type{ // Not invoke}- (void)userNotificationCenter:(UNUserNotificationCenter *)center willPresentNotification:(UNNotification *)notification withCompletionHandler:(void (^)(UNNotificationPresentationOptions options))completionHandler{ completionHandler(UNNotificationPresentationOptionAlert | UNNotificationPresentationOptionBadge | UNNotificationPresentationOptionSound);}- (void)userNotificationCenter:(UNUserNotificationCenter *)center didReceiveNotificationResponse:(UNNotificationResponse *)response withCompletionHandler:(void(^)(void))completionHandler{ completionHandler();}@end
Posted Last updated
.