SocialDown
·
Features
·
Built With
·
API Rest
Primer lanzamiento (v1.0) a GooglePlay el 28 de diciembre de 2022.
SocialDown es una aplicación para dispositivos Android la cual permite descargar videos, imagenes, reels y stories de las redes sociales como Facebook, Instagram y Tiktok.
Ademas, sin marca de agua.
Disponible para Android.
El desarrollo se ha realizado implementando el patrón Model-View-ViewModel (MVVM)
Algunas de las funciones que puedes hacer en SocialDown
- Descargar varios elementos a la vez en publicaciones como:
- Stories (Instagram)
- Carousel (Instagram)
- Eliminar marca de agua:
- Videos (TikTok)
- Elegir entre resolución HD Y FHD
- Android Architecture Components - Permite la creación de una app robusta y escalable
- Room - Manejo y configuración de la base de datos.
- ViewModel - Cambios en IU con relación al ciclo de vida.
- Data Binding - Vincula los componentes de la IU a fuentes de datos.
- Live Data - Notifica cambios a las vistas de la interfaz.
- Firebase - SDK de productos de Google.
- Firebase AdMob - Monetización atravez de anuncios.
- Firebase Analitycs - Rastreo de eventos y analisis.
- Firebase Crashlitycs - Informe de fallas en tiempo real.
- Firebase Hosting - Hosting del sitio web https://socialdownapp.com.
- Firebase Realtime Database - Uso de base de datos en la nube, en tiempo real.
- Firebase Storage - Almacenamiento en la nube.
- DialogX - Muestra diálogos personalizados de una manera simple y fácil.
- Glide - Cargue de imagenes y miniaturas.
- Material Design - Estilo de diseño de Google.
- Mixpanel - Rastreo de eventos personalizados.
- Retrofit2 - Permite hacer peticiones al servidor y gestionar diferentes tipos de parámetros.
- Dagger hilt - Injección de dependencias (en proceso..)
Se ha utilizado https://rapidapi.com/ para el uso de API's freemium que nos proporcione la posibilidad de decargar videos de diferentes sitios web como Facebook, Instagram y Tiktok.
Ej. APITiktok : https://rapidapi.com/yi005/api/tiktok-download-without-watermark/
GET /analysis?url={url}
Parameter | Type | Description |
---|---|---|
X-RapidAPI-Key |
string |
Required. API key (rapidapi.com) |
X-RapidAPI-Host |
string |
Required. tiktok-download-without-watermark.p.rapidapi.com |
/** Created by Luis Mesa on 09/08/22 */
interface APITiktok {
enum class APIs {Maatootz,Maatootz2,Yi005}
/**
* author: Yi005
* url: https://rapidapi.com/yi005/api/tiktok-download-without-watermark/
* baseUrl: https://www.tiktok.com/@luisguzmanms/video/42840537322866
* patchQuery: analysis?url=
*/
@Headers("X-RapidAPI-Host: tiktok-download-without-watermark.p.rapidapi.com")
@GET()
suspend fun getDataYi005(
@Header("X-RapidAPI-Key") X_RapidAPI_Key: String,
@Url url: String
): Response<TiktokResYi005>
}
/** Created by Luis Mesa on 09/08/22 */
data class TiktokResYi005(
@SerializedName("code") var code: Int? = null,
@SerializedName("msg") var msg: String? = null,
@SerializedName("processed_time") var processedTime: Double? = null,
@SerializedName("data") var data: Data? = Data()
)
/** Created by Luis Mesa on 09/08/22 */
CoroutineScope(Dispatchers.IO).launch {
val call: Response<TiktokResYi005> =
RetrofitHelper.getRetrofit(dataApi.baseUrl!!)
.create(APITiktok::class.java)
.getDataYi005(dataApi.key!!, "${dataApi.queryPath}$queryLink")
val resBody: TiktokResYi005? = call.body()
Agradecimiento y creditos a las siguientes herramientas/librerias: