Turkcell Pus Notification

Öncelikle bu hizmeyi sağlayan Turkcell' e bir kez daha teşekkür ederim. Yalnız aklıma takılan bir kaç nokta var, AppDelegate' te yer alan didFinishLaunching' e tanımlamaları yaptım...


	#import <TCellPushNotification/TCellNotificationSettings.h> #import <TCellPushNotification/TCellNotificationManager.h> - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { TCellNotificationSettings* settings = [[TCellNotificationSettings alloc] initWithAppId:@"AppId" secretKey:@"SecretKey" notificationTypes:(UIRemoteNotificationTypeBadge | UIRemoteNotificationTypeAlert | UIRemoteNotificationTypeSound)]; TCellNotificationManager* man =[TCellNotificationManager sharedInstance]; man.notificationSettings = settings; [man registerApplicationForRemoteNotificationTypes]; return YES; }
	

AppDelegate' e gerekli metodları ekledim.


	- (void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)newDeviceToken { NSString *token = [[newDeviceToken description] stringByTrimmingCharactersInSet:[NSCharacterSet characterSetWithCharactersInString:@"<>"]]; token = [token stringByReplacingOccurrencesOfString:@" " withString:@""]; NSLog(@"My Device token: %@",token); [[TCellNotificationManager sharedInstance] setNotificationDeviceTokenWithData:newDeviceToken]; } - (void)application:(UIApplication *)app didFailToRegisterForRemoteNotificationsWithError:(NSError *)err { NSString *str = [NSString stringWithFormat: @"Error: %@", err]; NSLog(@"Error %@",str); }
	

Kayıt işlemini didRegisterForRemoteNotificationsWithDeviceToken metoduna ekledim. Kayıt işlemlerini gerçekleştirdim.


	[[TCellNotificationManager sharedInstance] registerDeviceWithCustomID:@"" genericParam:@"genericParamTest" completionHandler:^(id obj) { if ([obj isKindOfClass:[TCellRegistrationResult class]]){ TCellRegistrationResult *result = (TCellRegistrationResult*)obj; if (result.isSuccessfull){ NSLog(@"Device is registered to push server."); }else{ NSLog(@"Error: %@ Status Code: %@", [result.error localizedDescription],result.resultCode); } } }];
	

Device Tokenler sağlıklı bir şekilde kayıt oluyor. Fakat bu noktadan sonra Uygulamayı cihazından kaldıran kullanıcıların Token'lerinin listeden düşmesini istiyorum. Github' ta yer alan açıklamalarda yer alan "Kayıt olmanın yanı sıra bir uygulama push bildirimleri almayı kesmek te gerekebilir. Push Server kaydığını kaldırmak için unRegisterDeviceWithCompletionHandler: metodu çağırılmalıdır. Dönen cevap nesnesi Register metodu ile aynıdır."  açıklaması ile altında yer alan kod örneği;


	[[TCellNotificationManager sharedInstance] unRegisterDeviceWithCompletionHandler:^(id obj) { if ([obj isKindOfClass:[TCellRegistrationResult class]]){ TCellRegistrationResult *result = (TCellRegistrationResult*)obj; if (result.isSuccessfull){ NSLog(@"Device is unregistered from push server."); }else{ NSLog(@"Error: %@ Status Code: %@", [result.error localizedDescription],result.resultCode); } } }];
	

Bu örnek kodları nerede nasıl kullanacağım bu noktayı hiç anlamadım. RootViewController' da manuel bir olarak bir buton ekleyerek kullanıcının mı kaydını silmesini bekleyeceğim? Kısacası uygulamaların kaldırıldığı cihazların token' larının listeden düşmesini istiyorum. Biraz uzun oldu sanırım :)

 

ekucet

Sa, 02/09/2014 - 15:18
Başlığı yanlış yazmışım. Push olacaktı :) Birde sormak istediğim bir şey daha var, Production sertifikası ile henüz uygulamamız appStore' a yüklenmemiş ise test cihazımızda Production ile deneme yapabiliyor muyuz acaba? Yapabiliyorsak bende bir problem var bildirim atamıyorum Production sertfikası ile.

ekucet

Sa, 02/09/2014 - 15:18
Başlığı yanlış yazmışım. Push olacaktı :) Birde sormak istediğim bir şey daha var, Production sertifikası ile henüz uygulamamız appStore' a yüklenmemiş ise test cihazımızda Production ile deneme yapabiliyor muyuz acaba? Yapabiliyorsak bende bir problem var bildirim atamıyorum Production sertfikası ile.

anilsozeri

Çar, 03/09/2014 - 09:55
Merhaba, Development sertifikası test cihazında deneme yapmak için yeterli diye biliyorum. Linkteki adımları takip edebilirsiniz; http://www.raywenderlich.com/32960/apple-push-notification-services-in-ios-6-tutorial-part-1

ekucet

Per, 04/09/2014 - 13:36
Peki cihazından uygulamayı silenlerin token' larını nasıl çıkaratabilirim. Sonuç olarak Apple tarafından sıkıntılı bir durum oluşabilir.

anilsozeri

Per, 04/09/2014 - 13:57
O kısmı bende tam bilemiyorum o yüzden net bir bilgi veremiyeceğim bu konuda ama Turkcell Uygulama Servisleri, Anlık Bildirim kısmında iOS SDK ile ilgili bilgiler var orada bulabilirsiniz.

    +1

    Erkam KÜCET

    Kamu - 07 Eylül 2014

    Hala bir çözüm bulamadım. Yardımcı olacak bir arkadaş arıyorum :)

      ekucet

      Cum, 12/09/2014 - 09:11
      Çözümü buldum farklı bir sağlayıcı kullanıyorum :)
    Bu soruya cevap vermek için üye olmanız veya giriş yapmanız gerekmektedir.