feat(push): bundle a custom notification sound (notif.wav) for chat + calls
Notifications were silent despite the payload requesting sound:'default' and correct device settings. Ship an explicit tone: a generated PCM .wav is bundled into the app (ios-patch.sh copies it in; add-share-extension.rb adds it to the App target's Copy Bundle Resources, tolerantly) and the server now sends sound:'notif.wav'. Part of the consolidated iOS build alongside the background-audio + call-push + AppDelegate fixes. Only affects iOS-native-app tokens (currently just the one test device); web push ignores the field. Needs a fresh Codemagic build for the bundled file to exist. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
+3
-1
@@ -88,7 +88,9 @@ function sendApns(token, payload) {
|
||||
let client;
|
||||
try { client = http2.connect(apnsCfg.host); } catch (_) { return resolve({}); }
|
||||
client.on('error', () => { try { client.close(); } catch (_) {} resolve({}); });
|
||||
const body = JSON.stringify({ aps: { alert: { title: payload.title || 'Biz Connect', body: payload.body || '' }, sound: 'default' }, ...(payload.data || {}) });
|
||||
// Custom bundled sound (notif.wav, shipped in the app via ios-patch.sh + add-share-extension.rb) gives
|
||||
// chat/call notifications an explicit, distinctive tone. A call site may override via payload.sound.
|
||||
const body = JSON.stringify({ aps: { alert: { title: payload.title || 'Biz Connect', body: payload.body || '' }, sound: payload.sound || 'notif.wav' }, ...(payload.data || {}) });
|
||||
const req = client.request({ ':method': 'POST', ':path': '/3/device/' + token, authorization: 'bearer ' + apnsToken(), 'apns-topic': apnsCfg.bundle, 'apns-push-type': 'alert' });
|
||||
let status = 0;
|
||||
req.on('response', (h) => { status = h[':status']; });
|
||||
|
||||
Reference in New Issue
Block a user