Your activity interpreter class needs a getClassName() method that returns an array of class names. This should include the className used in the call to addActivity().

You'll also need a doInterpret(SocialActivity, ThemeDisplay) method that returns a SocialActivityFeedEntry. Your code should parse the SocialActivity argument to create the SocialActivityFeedEntry. In particular, you'll need a link, a title, and a body.

Very nice Wiki article. Just need clarification on - How The ActivitiesPortlet (like MembersActivitiesPortlet / UserActivitiesPortlet / FriendsActivitiesPortlet) will know about my defined custom activity type?? Should not I configure/define about my activity type to it??

When portal render activities portlet, it will render liferay-ui:social-activities tag which is used in view.jsp in ROOT/html/portlet/activities. The taglib render page is in ROOT/taglib/ui/social-activities/page.jsp. In the page.jsp, it'll call doInterpreter() method.