ios極光推送離線自定義提示音

首先我們要集成極光的SDK;

下一步就要修改提示音的格式為.caf,比如default.caf然后導入工程中,并且在如圖文件加入

后臺推送的消息體里面一定要設置sound的value為default.caf,也就是和你拖入工程中的文件名一致

以下代碼一定要放入接收推送的方法中


#pragma mark - ios6以下接收推送消息

- (void)application:(UIApplication*)application didReceiveRemoteNotification:(NSDictionary*)userInfo {

[JPUSHService handleRemoteNotification:userInfo];

NSLog(@"iOS6及以下系統,收到通知:%@", [selflogDic:userInfo]);

}


#pragma mark - ios7以上接收推送消息

- (void)application:(UIApplication*)application didReceiveRemoteNotification:(NSDictionary*)userInfo fetchCompletionHandler:(void(^)(UIBackgroundFetchResult))completionHandler {

NSString*sound = [[userInfoobjectForKey:@"aps"]objectForKey:@"sound"];//播放的聲音

[self loadMusic:sound];

}


#pragma mark -播放音樂

//初始化音樂播放器

- (void)loadMusic:(NSString*)strMusic

{

? ? ? ? ?drewSound= [selfloadSound:strMusic];

? ? ? ? ?AudioServicesPlaySystemSound(drewSound);

}

//加載音效

- (SystemSoundID)loadSound:(NSString*)soundFileName

{

//// 1.需要指定聲音的文件路徑,這個方法需要加載不同的音效

NSString*path = [[NSBundle mainBundle]pathForResource:soundFileName ofType:nil];

// 2.將路徑字符串轉換成url

NSURL*url = [NSURLfileURLWithPath:path];

// 3.初始化音效

// 3.1 url => CFURLRef

// 3.2 SystemSoundID

SystemSoundIDsoundId;

// url先寫個錯的,然后讓xcode幫我們智能修訂,這里的方法不要硬記!

AudioServicesCreateSystemSoundID((__bridgeCFURLRef)(url), &soundId);

//AudioServicesPlaySystemSound(kSystemSoundID_Vibrate);

returnsoundId;

}

這樣你就可以試試了!

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容