Pular para o conteúdo

App Clips do iOS

Os App Clips permitem que os usuários concluam uma tarefa rapidamente sem baixar seu aplicativo completo. Com a Pushwoosh, você pode enviar notificações push para usuários de App Clips — o iOS concede automaticamente acesso a notificações por 8 horas quando o App Clip é aberto.

O que você precisa

Anchor link to
  • SDK da Pushwoosh para iOS 7.0.33+
  • Xcode 15+
  • Um aplicativo Pushwoosh separado para o seu App Clip (ID de pacote diferente = aplicativo separado)
  • Um dispositivo real para testes (tokens de push não funcionam no simulador)

1. Crie um aplicativo Pushwoosh

Anchor link to

Seu App Clip tem um ID de pacote diferente (por exemplo, com.yourapp.Clip), então ele precisa de um aplicativo Pushwoosh separado com sua própria chave APNs.

  1. Acesse o Painel de Controle da Pushwoosh
  2. Crie um novo aplicativo com o ID de pacote do App Clip
  3. Faça o upload da sua chave de autenticação APNs
  4. Copie o Código do Aplicativo e o Token da API

2. Crie um alvo (target) de App Clip

Anchor link to
  1. No Xcode: File → New → Target → App Clip
  2. Adicione a capacidade (capability) de Push Notifications ao alvo do App Clip

Para capturas de tela detalhadas sobre como adicionar capacidades, consulte o guia de integração básica.

3. Adicione os frameworks da Pushwoosh

Anchor link to

No alvo do App Clip, em Build Phases → Link Binary With Libraries, adicione:

  • PushwooshFramework.framework
  • PushwooshCore.framework
  • PushwooshBridge.framework

4. Configure o Info.plist

Anchor link to
<!-- Pushwoosh -->
<key>Pushwoosh_APPID</key>
<string>XXXXX-XXXXX</string>
<key>Pushwoosh_API_TOKEN</key>
<string>YOUR_API_TOKEN</string>
<!-- Ephemeral push (8-hour auto-grant, no dialog) -->
<key>NSAppClip</key>
<dict>
<key>NSAppClipRequestEphemeralUserNotification</key>
<true/>
<key>NSAppClipRequestLocationConfirmation</key>
<false/>
</dict>
<key>UIBackgroundModes</key>
<array>
<string>remote-notification</string>
</array>

5. Inicialize o SDK

Anchor link to
import SwiftUI
import PushwooshFramework
class AppClipDelegate: NSObject, UIApplicationDelegate, PWMessagingDelegate {
func application(_ application: UIApplication,
didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]? = nil) -> Bool {
Pushwoosh.configure.delegate = self
Pushwoosh.configure.registerForPushNotifications()
return true
}
func application(_ application: UIApplication,
didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data) {
Pushwoosh.configure.handlePushRegistration(deviceToken)
}
func application(_ application: UIApplication,
didFailToRegisterForRemoteNotificationsWithError error: Error) {
Pushwoosh.configure.handlePushRegistrationFailure(error as NSError)
}
func application(_ application: UIApplication,
didReceiveRemoteNotification userInfo: [AnyHashable: Any],
fetchCompletionHandler completionHandler: @escaping (UIBackgroundFetchResult) -> Void) {
Pushwoosh.configure.handlePushReceived(userInfo)
completionHandler(.noData)
}
func pushwoosh(_ pushwoosh: Pushwoosh, onMessageOpened message: PWMessage) {
print("Push opened: \(message.payload ?? [:])")
}
}
@main
struct YourAppClip: App {
@UIApplicationDelegateAdaptor(AppClipDelegate.self) var appDelegate
var body: some Scene {
WindowGroup {
ContentView()
}
}
}

Com permissões efêmeras, o iOS concede acesso a push por 8 horas automaticamente. Se você quiser usar o modo efêmero sem mostrar uma caixa de diálogo de permissão, chame UIApplication.shared.registerForRemoteNotifications() diretamente em vez de Pushwoosh.configure.registerForPushNotifications().

Para solicitar permissão de push permanente (caixa de diálogo padrão), use Pushwoosh.configure.registerForPushNotifications() como mostrado acima.

Permissões de push efêmeras

Anchor link to

Quando um usuário abre seu App Clip, o iOS concede acesso a notificações push por 8 horas sem perguntar. Após 8 horas, a permissão expira. O usuário deve reabrir o App Clip para obter mais 8 horas.

Para obter um token de push por 8 horas sem mostrar uma caixa de diálogo de permissão:

UIApplication.shared.registerForRemoteNotifications()

Para obter um token de push permanente (mostra a caixa de diálogo de permissão padrão):

Pushwoosh.configure.registerForPushNotifications()

Limitações

Anchor link to
LimitaçãoDetalhes
Sem notificações ricas (rich notifications)App Clips não podem incluir uma Notification Service Extension — sem imagens, sem Communication Notifications
Limite de tamanho15 MB (iOS 16) / 50 MB (iOS 17+)
Janela de push de 8 horasA permissão efêmera expira após 8 horas
Sem processamento em segundo planoO push silencioso tem funcionalidade limitada
ID do DispositivoidentifierForVendor retorna zeros — o SDK lida com isso automaticamente (7.0.33+)
Notificação push de um App Clip em um iPhone

Notificação push recebida em um App Clip com permissões efêmeras