The Cinemaplot Bookmark Widget is a versatile tool that allows users to embed a bookmark button on external websites and mobile applications. This widget enables Cinemaplot users to quickly bookmark films they want to see later directly from third-party platforms, enhancing user engagement and cross-platform integration.
To ensure a smooth development process and maximize early adoption, it is recommended to start with the JavaScript implementation for web platforms before expanding to Android and iOS. This approach allows for:
- Faster iteration and testing on the most accessible platform
- Immediate feedback from web developers
- Reuse of core logic across platforms
- Easier debugging and feature validation
- Cross-Platform Support: Available for web, Android, and iOS platforms
- Seamless Integration: Easy-to-implement SDKs for developers
- User Authentication: Integrates with existing Cinemaplot user accounts
- Customizable UI: Flexible styling options to match host application design
- Real-time Sync: Bookmarks sync instantly across all user devices
- Analytics: Optional tracking for widget usage and engagement
- Smart Reminders: Automated reminders via email or WhatsApp to revisit bookmarks
// Include the SDK script in your HTML
<script src="https://cdn.cinemaplot.com/bookmark-widget/v1.0.0/cinemaplot-bookmark.js"></script>// Initialize the widget
const bookmarkWidget = new CinemaplotBookmark({
apiKey: 'your-api-key',
movieId: 'movie-imdb-id-or-cinemaplot-id',
container: '#bookmark-container'
});
// Render the bookmark button
bookmarkWidget.render();apiKey: Your Cinemaplot API keymovieId: Unique identifier for the moviecontainer: CSS selector for the container elementtheme: 'light' or 'dark' (default: 'light')size: 'small', 'medium', or 'large' (default: 'medium')callback: Function called after bookmark action
POST /api/v1/bookmarks: Create a new bookmarkDELETE /api/v1/bookmarks/{id}: Remove a bookmarkGET /api/v1/bookmarks/{userId}: Retrieve user's bookmarksPOST /api/v1/bookmarks/{id}/reminders: Schedule or update reminder settingsDELETE /api/v1/bookmarks/{id}/reminders: Disable reminders for a specific bookmarkGET /api/v1/users/{userId}/reminder-preferences: Retrieve user's reminder preferencesPUT /api/v1/users/{userId}/reminder-preferences: Update reminder delivery method and frequency
dependencies {
implementation 'com.cinemaplot:bookmark-widget:1.0.0'
}// In your Activity or Fragment
val bookmarkButton = CinemaplotBookmarkButton(this)
bookmarkButton.apiKey = "your-api-key"
bookmarkButton.movieId = "movie-id"
bookmarkButton.theme = CinemaplotTheme.LIGHT
// Add to your layout
yourLayout.addView(bookmarkButton)CinemaplotBookmarkButton: Main widget classCinemaplotBookmarkManager: Handles bookmark operationsCinemaplotAuthManager: Manages user authentication
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />pod 'CinemaplotBookmarkWidget', '~> 1.0.0'import CinemaplotBookmarkWidget
// In your ViewController
let bookmarkButton = CinemaplotBookmarkButton()
bookmarkButton.apiKey = "your-api-key"
bookmarkButton.movieId = "movie-id"
bookmarkButton.theme = .light
// Add to your view
view.addSubview(bookmarkButton)CinemaplotBookmarkButton: Main widget viewCinemaplotBookmarkService: Handles API interactionsCinemaplotAuthService: Manages authentication flow
<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<true/>
</dict>When a user bookmarks a movie using the Cinemaplot Bookmark Widget, the system automatically schedules smart reminders to help users revisit their saved films. Reminders start 24 hours after the initial bookmark and continue at increasing intervals to prevent forgetting while avoiding spam.
- First Reminder: 24 hours after bookmarking
- Subsequent Reminders: Every 3 days, then weekly, then bi-weekly
- Maximum Duration: Reminders continue for up to 3 months or until the bookmark is cleared
- Email: HTML-formatted emails with movie poster, title, and direct links
- WhatsApp: Rich messages with quick action buttons (requires user opt-in)
Upon receiving a reminder, users are directed to the Cinemaplot Bookmarks page where they can:
- Clear Bookmark: Remove the movie from their bookmarks permanently
- Postpone: Choose a custom time to receive the next reminder (e.g., 1 week, 1 month, custom date)
- Watch Now: Navigate directly to streaming options or movie details
- Rate/Review: Provide feedback on the reminder system
POST /api/v1/bookmarks/{id}/reminders: Schedule or update reminder settingsDELETE /api/v1/bookmarks/{id}/reminders: Disable reminders for a specific bookmarkGET /api/v1/users/{userId}/reminder-preferences: Retrieve user's reminder preferencesPUT /api/v1/users/{userId}/reminder-preferences: Update reminder delivery method and frequency
Users can customize reminder preferences in their Cinemaplot account settings:
- Preferred delivery method (email, WhatsApp, or both)
- Reminder frequency adjustments
- Time of day for email delivery
- Opt-out options for specific bookmarks or all reminders
// Enable reminders during widget initialization
const bookmarkWidget = new CinemaplotBookmark({
apiKey: 'your-api-key',
movieId: 'movie-id',
enableReminders: true,
reminderMethod: 'email' // or 'whatsapp' or 'both'
});- All API communications use HTTPS
- API keys are required for authentication
- User data is encrypted in transit and at rest
- Rate limiting implemented to prevent abuse
- Optional Google Analytics integration
- Custom event tracking for bookmark actions
- Usage statistics available in Cinemaplot dashboard
- Phase 1: Core widget functionality (Completed)
- Phase 2: Advanced customization options
- Phase 3: Social sharing integration
- Phase 4: Offline bookmark support
- Phase 5: Smart reminder system with email and WhatsApp integration
- Full API documentation: https://docs.cinemaplot.com/bookmark-widget
- Developer forum: https://community.cinemaplot.com
- Support email: developers@cinemaplot.com
- v1.0.0: Initial release with web, Android, and iOS support, including smart reminder system