This is the Android app for [ntfy](https://github.com/binwiederhier/ntfy)([ntfy.sh](https://ntfy.sh)). You can find the app in [F-Droid](https://f-droid.org/packages/io.heckel.ntfy/) or the [Play Store](https://play.google.com/store/apps/details?id=io.heckel.ntfy),
or as .apk files on the [releases page](https://github.com/binwiederhier/ntfy-android/releases).
# Build
## Building without Firebase (F-Droid flavor)
Without Firebase, you may want to still change the default `app_base_url` in [strings.xml](https://github.com/binwiederhier/ntfy-android/blob/main/app/src/main/res/values/strings.xml)
if you're self-hosting the server. Then run:
```
# To build an unsigned .apk (app/build/outputs/apk/fdroid/*.apk)
./gradlew assembleFdroidRelease
# To build a bundle .aab (app/fdroid/release/*.aab)
./gradlew bundleFdroidRelease
```
## Building with Firebase (FCM, Google Play flavor)
To build your own version with Firebase, you must:
* Create a Firebase/FCM account
* Place your account file at `app/google-services.json`
* And change `app_base_url` in [strings.xml](https://github.com/binwiederhier/ntfy-android/blob/main/app/src/main/res/values/strings.xml)
* Then run:
```
# To build an unsigned .apk (app/build/outputs/apk/play/*.apk)
./gradlew assemblePlayRelease
# To build a bundle .aab (app/play/release/*.aab)
./gradlew bundlePlayRelease
```
## Build
For up-to-date building instructions, please see the [official docs](https://docs.ntfy.sh/develop/#android-app).
## Translations
We're using [Weblate](https://hosted.weblate.org/projects/ntfy/) to translate the ntfy Android app. We'd love your participation.
<stringname="settings_notifications_insistent_max_priority_title">Manter as alertas da prioridade máis alta</string>
<stringname="settings_general_default_base_url_message">Escribe o enderezo URL raíz do teu servidor para usar o servidor propio por defecto cando te subscribas a novos temas e/ou compartas os temas.</string>
<stringname="settings_general_users_prefs_user_used_by_many">Usado polos temas %1$s</string>
<stringname="settings_advanced_broadcast_summary_enabled">As app poden recibir notificacións entrantes como difusións</string>
<stringname="settings_advanced_broadcast_summary_disabled">As app non poden recibir notificacións entrantes como difusións</string>
<stringname="settings_backup_restore_restore_failed">Fallou o restablecemento: %1$s</string>
<stringname="settings_advanced_broadcast_title">Mensaxes de difusión</string>
<stringname="settings_advanced_export_logs_scrub_dialog_text">Estes temas e nomes de servidor serán substituídos por nomes de froita, así podes compartilos sen problema:
\n
\n%1$s
\n
\nOs contrasinais son anulados, pero non aparecen aquí.</string>
<stringname="settings_advanced_connection_protocol_summary_ws">Usar WebSockets para conectar co servidor. Este é o método recomendado, pero podería precisar configuración adicional no teu proxy.</string>
<stringname="settings_advanced_connection_protocol_entry_jsonhttp">Fluxo JSON sobre HTTP</string>
<stringname="settings_advanced_connection_protocol_summary_jsonhttp">Usar un fluxo JSON sobre HTTP para conectar co servidor. Este método é robusto, pero podería consumir máis batería.</string>
<stringname="settings_about_version_copied_to_clipboard_message">Copiado ao portapapeis</string>
<stringname="detail_settings_notifications_instant_summary_off">Notificacións entregadas usando Firebase. A entrega podería sufrir demora, pero consume menos batería.</string>
<stringname="detail_settings_notifications_dedicated_channels_title">Axustes personais de notificación</string>
<stringname="detail_settings_notifications_dedicated_channels_summary_on">Usar axustes personais para esta subscrición</string>
<stringname="detail_settings_notifications_dedicated_channels_summary_off">Usar axustes por defecto (sons, obviar Non Molestar, etc.)</string>
<stringname="detail_settings_notifications_open_channels_summary">Obviar Non Molestar (DND), sons, etc.</string>
<stringname="detail_settings_notifications_open_channels_title">Configurar axustes da notificación</string>
<stringname="detail_settings_appearance_icon_error_saving">Non se gardou a icona: %1$s</string>
<stringname="settings_advanced_record_logs_summary_enabled">Gravando (ata 1000 entradas) no dispositivo…</string>
<stringname="settings_advanced_record_logs_summary_disabled">Activar rexistro, así poderás compartir os rexistros para diagnosticar problemas.</string>
<stringname="settings_advanced_export_logs_summary">Copia os rexistros ao portapapeis, ou súbeos a nopaste.net (propiedade de ntfy). Os nomes de servidor e temas poden agocharse, as notificacións non.</string>
<stringname="settings_advanced_export_logs_entry_copy_original">Copiar ao portapapeis</string>
<stringname="settings_advanced_export_logs_entry_copy_scrubbed">Copiar ao portapapeis (censurado)</string>
<stringname="settings_advanced_export_logs_entry_upload_original">Subir e copiar ligazón</string>
<stringname="settings_advanced_export_logs_entry_upload_scrubbed">Subir e copiar ligazón (censurado)</string>
<stringname="settings_advanced_export_logs_copied_logs">Rexistros copiados ao portapapeis</string>
<stringname="settings_advanced_export_logs_uploading">Subindo o rexistro …</string>
<stringname="settings_advanced_export_logs_copied_url">Rexistros subidos e URL copiado</string>
<stringname="settings_advanced_export_logs_error_uploading">Non se puido subir o rexistro: %1$s</string>
<stringname="settings_advanced_export_logs_scrub_dialog_empty">Non se editaron temas/servidores. Non tes ningunha subscrición\?</string>
<stringname="settings_advanced_clear_logs_summary">Eliminar os rexistros anteriores e volver a comezar</string>
<stringname="settings_advanced_connection_protocol_title">Protocolo de conexión</string>
<stringname="detail_settings_notifications_instant_summary_on">As notificacións entregaranse inmediatamente. Require un servizo en segundo plano e consume máis batería.</string>
<stringname="detail_settings_appearance_display_name_message">Establece o nome para mostrar para esta subscrición. Deixa en branco para valor por defecto (%1$s).</string>
<stringname="detail_item_cannot_open_apk">Le app non possono più essere installate: devono essere scaricate via browser. Vedi l\'issue #531 per dettagli.</string>